Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Pusta wartość zmiennej, a wyszukiwanie danych w kolumnie
Forum PHP.pl > Forum > Przedszkole
agentmullder
Dzień dobry. Proszę o pomoc w rozwikłaniu dosyć małego problemu. Jestem początkującym w tej dziedzinie, wiec rozwiązanie może się okazać błahe. Otóż:

mam tabelę zbudowaną z kilkunastu kolumn i do niej chcę zrobić na stronie wyszukiwarkę obiektów. Wyszukiwarka chciałbym, aby miała możliwość wyszukiwania po wybranej przez użytkownika kolumnach (jednej, dwóch lub kilku). Tabela samochody z kolumnami: marka, model, rok produkcji, kolor, silnik, itp. Formularz na stronie posiada możliwość wyszukiwania auta pod względem wszystkich kategorii. Np: chcemy wyszukać auto mając dane: rok produkcji, kolor. Po wpisaniu w pola rok produkcji i kolor odpowiednich danych wyszuka nam komplet informacji o samochodach nas interesujących. Ale w formularzu na stronie są jeszcze pola: marka, model i itp. Jeśli nic tam nie wpiszemy (bo nie mamy takich informacji po których będziemy szukać) to jak ułożyć zapytanie, aby w przypadku pustego pola: marka, model wyszukało nam w bazie auta o znanym przez nas kolorze i roku produkcji?

Jeśli zmienna przyjmie pustą wartość (brak informacji o marce, modelu czy pojemności silnika), wówczas wynik zapytania do bazy zwróci pusty rekord.

Mam nadzieję, że opisałem to w zrozumiałym języku.
pedro84
Tutaj znajdziesz potrzebne informacje.
agentmullder
Cytat(pedro84 @ 6.05.2010, 11:35:37 ) *
Tutaj znajdziesz potrzebne informacje.


Siedziałem już nad tym tutorialem kilka godzin i nie radze prawdopodobnie z ostatnim błędem:

Cytat
Something is wrong in your syntax obok 'zapytanie' w linii 1


  1. <form method="post">
  2. Model<input type="text" name="model" />
  3. Marka<input type="text" name="marka" />
  4. Silnik<input type="text" name="silnik" />
  5. <input type="submit" name="znajdz" value="znajdz">
  6. </form>
  7. <?php
  8.  
  9. if(isset($_POST['znajdz'])){
  10. $wh = array();
  11. if (!empty($_POST['model']))
  12. $wh[] = "flota_model = '$_POST[model]' ";
  13. //$wh[] = "flota_model LIKE '%$model%'";
  14. if (!empty($_POST['marka']))
  15. $wh[] = "flota_marka = '$_POST[marka]' ";
  16. //$wh[] = "flota_marka LIKE '%$marka%'";
  17. if (!empty($_POST['silnik']))
  18. $wh[] = "flota_silnik = '$_POST[silnik]' ";
  19. //$wh[] = "flota_silnik LIKE '%$silnik%'";
  20.  
  21. if (!empty($wh)){ $where = 'where '.implode(' and ', $wh); }
  22. else{ $where = ''; }
  23.  
  24. $zapytanie = 'SELECT * FROM flota '.$where;
  25. $wynik = mysql_query(zapytanie);
  26.  
  27. echo $wynik;
  28.  
  29. }
  30. ?>
zordon
zgubiłeś dolara!
$wynik = mysql_query($zapytanie);
agentmullder
Cytat(zordon @ 6.05.2010, 16:55:28 ) *
zgubiłeś dolara!
$wynik = mysql_query($zapytanie);


Omajgosz blinksmiley.gif Taki byk smile.gif Obu panom dziękuję za pomoc, oczywiście po plusiku smile.gif

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.