Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Problem z zapytaniem SQL
Forum PHP.pl > Forum > Przedszkole
allur
Witam

Pisze projekt do szkoły i nie mogę poradzić sobie z następującym zapytaniem SQL:

$zapytanie = "select * from zamowienia where $metoda_szukania like $wyrazenie";

Mam do wyboru 3 metody szukania(idzamowienia, dos_nazwisko, data) i dowolne wyrażenie. Chodzi o to że gdy wybieram jako metodę szukania idzamowienia wszystko jest ok i pokazuje mi dane dotyczące książki. Jeśli zmienię metodę na nazwisko czy data zapytanie nie działa. Moim zdaniem brakuje tu jakiś apostrofów czy kropek przy zmiennych. Na pewno nie walnąłem się w literówce. Oto tabela zamówienie:


create table zamowienia
(
idzamowienia int unsigned not null auto_increment primary key,
idklienta int unsigned not null references klienci(idklienta),
wartosc float(6,2),
data date not null,
stan_zam char(10),
dos_nazwisko char(60) not null,
dos_adres char(80) not null,
dos_miasto char(30) not null,
dos_wojew char(20),
dos_kod_poczt char(10),
dos_kraj char(20) not null
) type=InnoDB;

Proszę o pomoc!
astutus
Daj tu moze lepiej plik php, bo wydaje mi sie, ze tam moze byc jakis blad z przypisaniem zmiennych albo z tym wyrazeniem.
allur
Ok tutaj są pliczki php. Pierwszy to formularz , drugi wyszukiwarka_koszyk.php a trzeciego nie wklejałem całego tylko funkcje obsługującą.

  1. <?php
  2. require_once('wyswietl.php');
  3. require_once('funkcje_admin.php');
  4. require_once('funkcje_logowania.php');
  5. styl2();
  6. cssik();
  7. ?>
  8. <div id="strona_logowania">
  9. <?php
  10. if(isset($_SESSION['uzyt_admin']))
  11. {
  12. ?>
  13. <form method="post" action="wyszukiwarka_koszyk.php" >
  14. <font size="2" color="#000000" ><b>Wybierz sposób wyszukiwania.</b></font><br /><br />
  15. <KBD>Kryteria:</KBD><select name="metoda_szukania">
  16. <option value="dos_nazwisko">dos_nazwisko<option value="idzamowienia">idzamowienia<option value="data">data
  17. </select>
  18. <br/>
  19. <KBD>Szukana fraza:</KBD>
  20. <br/>
  21. <input name="wyrazenie" type="text">
  22. <br/>
  23. <input type="submit" value="Szukaj">
  24. </form>
  25.  
  26. <?php
  27. }
  28. else
  29. {
  30. echo 'Nie jestes zalogowany. ';
  31. powrot();
  32. }
  33. ?>
  34. </div>
  35. <?php
  36. stopka();
  37.  
  38. ?>




  1. <?php
  2. require_once('wyswietl.php');
  3. require_once('funkcje_admin.php');
  4. require_once('funkcje_logowania.php');
  5. styl2();
  6. cssik();
  7. ?>
  8. <div id="strona_logowania">
  9. <?php
  10. if(isset($_SESSION['uzyt_admin']))
  11. {
  12. $metoda_szukania=$_POST['metoda_szukania'];
  13. $wyrazenie=$_POST['wyrazenie'];
  14. $wyrazenie = trim($wyrazenie);
  15.  
  16. wyszukaj_urzytkownika($metoda_szukania,$wyrazenie);
  17.  
  18.  
  19. }
  20. else
  21. {
  22. echo 'Nie jestes zalogowany. ';
  23. powrot();
  24.  
  25. }
  26.  
  27. ?>
  28. </div>
  29. <?php
  30. stopka();
  31.  
  32. ?>
  33.  



  1. function wyszukaj_urzytkownika($metoda_szukania,$wyrazenie)
  2. {
  3. //echo '->'.$wyrazenie.'<-<br />';
  4. // echo '->'.$metoda_szukania.'<-<br />';
  5. if (!$metoda_szukania || !$wyrazenie)
  6. {
  7. echo 'Brak parametrów wyszukiwania. Spróbuj ponownie.';
  8. stopka();
  9. }
  10.  
  11. {
  12. $metoda_szukania = addslashes($metoda_szukania);
  13. $wyrazenie = addslashes($wyrazenie);
  14. }
  15.  
  16. $lacz=lacz_bd() or die('brak polaczenia z baza danych<br />'); //'%{$_POST['phrase']}%'
  17.  
  18. $zapytanie = "select * from zamowienia where $metoda_szukania like $wyrazenie";
  19. //$zapytanie = "select * from ksiazki where ".$metoda_szukania." like '%".$wyrazenie."%'";
  20. $wynik = $lacz->query($zapytanie);
  21.  
  22. if(!$wynik) echo 'brak wyniku<br />';
  23.  
  24. $ile_znalezionych = $wynik->num_rows;
  25.  
  26. echo '<p>Ilość znalezionych pozycji: '.$ile_znalezionych.'</p>';
  27.  
  28. for ($i=0; $i <$ile_znalezionych; $i++)
  29. {
  30. $wiersz = $wynik->fetch_assoc();
  31. echo '<p><strong>'.($i+1).'. Idzamowienia: ';
  32. echo '<font color="red">'.stripslashes($wiersz['idzamowienia']).'</font>';
  33. echo '</strong><br />Idklienta: ';
  34. echo '<font color="red">'.stripslashes($wiersz['idklienta']).'</font>';
  35. echo '<br />Wartość: ';
  36. echo '<font color="red">'.stripslashes($wiersz['wartosc']).'</font>';
  37. echo '<br />Data: ';
  38. echo '<font color="red">'.stripslashes($wiersz['data']).'</font>';
  39. echo '</strong><br />Stan zmówienia: ';
  40. echo '<font color="red">'.stripslashes($wiersz['stan_zam']).'</font>';
  41. echo '<br />Nazwisko dostawy: ';
  42. echo '<font color="red">'.stripslashes($wiersz['dos_nazwisko']).'</font>';
  43. echo '<br />Adres dostawy: ';
  44. echo '<font color="red">'.stripslashes($wiersz['dos_adres']).'</font>';
  45. echo '<br />Miasto dostawy: ';
  46. echo '<font color="red">'.stripslashes($wiersz['dos_miasto']).'</font>';
  47. echo '<br />Województwo dostawy: ';
  48. echo '<font color="red">'.stripslashes($wiersz['dos_wojew']).'</font>';
  49. echo '<br />Kod pocztowy dostawy: ';
  50. echo '<font color="red">'.stripslashes($wiersz['dos_kod_poczt']).'</font>';
  51. echo '<br />Kraj dostawy: ';
  52. echo '<font color="red">'.stripslashes($wiersz['dos_kraj']).'</font>';
  53. echo '</p>';
  54. }
  55.  
  56. $lacz->close();
  57.  
  58. }
  59.  


Mam już. Temat do zamknięcia
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.