Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php, mysql] Wyszukiwarka i pętla ?
dr_NO
post
Post #1





Grupa: Zarejestrowani
Postów: 197
Pomógł: 15
Dołączył: 10.09.2006
Skąd: Siemianowice Śląskie / Katowice

Ostrzeżenie: (0%)
-----


Witam, ludzie pomóżcie mi proszę, mam 40 stopni gorączki i muszę dokończyć projekt, ALE mam kilka problemów a moja móżgownica nie pracuje dzisiaj poprawnie otóż:
temat prosty: wyszukiwarka.

Jak najszybciej zrobić wyszukiwarkę ?
Powiedzmy że mam formularz: cena od, cena do, powierzchnia od, powierzchnia do, województwo.
Jak zrobić szybko, niezależną wyszukiwarkę ? tzn user wpisuje tylko cenę od do, albo tylko powierzchnię, albo województwo, albo jeszce inaczej tylko cenę od ?

Musze stawiać setki warunków ?

Może da się zrobić jakąś pętlę w zapytaniu SQL ?

chodzi oto żeby nie robić kilkanaście razy: if(!$cena_od ....

bo to mija się z celem ...

Z góry dzięki i pozdrawiam.

Ten post edytował dr_NO 13.12.2007, 19:23:09
Go to the top of the page
+Quote Post
SirZooro
post
Post #2





Grupa: Zarejestrowani
Postów: 243
Pomógł: 32
Dołączył: 14.06.2007

Ostrzeżenie: (0%)
-----


Musisz dodać odpowiednie warunki w zapytaniu po WHERE.
Go to the top of the page
+Quote Post
1010
post
Post #3





Grupa: Zarejestrowani
Postów: 749
Pomógł: 37
Dołączył: 3.10.2006

Ostrzeżenie: (0%)
-----


  1. <?php
  2. $zapytanie= mysql_query("SELECT * FROM twoja tabela WHERE cena>='".$_POST['cena_od']."' AND cena<='".$_POST['cena_do']."' AND powierzchnia>='".$_POST['powierzchnia_od']."' AND powierzchnia<='".$_POST['powierzchnia_do']."' AND wojewodztwo='".$_POST['wojewodztwo']."' ORDER BY id ASC;");
  3. ?>

mniej więcej coś takiego, dostosuj pod swoją tabele i powinno działać

ps. pisane z palca, może zawierać drobne błędy
Go to the top of the page
+Quote Post
drPayton
post
Post #4





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


Popraw proszę temat na zgodny z zasadami forum przedszkole, w przeciwnym wypadku wątek zostanie zamknięty.

Pozdrawiam!
Go to the top of the page
+Quote Post
dr_NO
post
Post #5





Grupa: Zarejestrowani
Postów: 197
Pomógł: 15
Dołączył: 10.09.2006
Skąd: Siemianowice Śląskie / Katowice

Ostrzeżenie: (0%)
-----


sorry za temat, a teraz do sedna ...

to wiem jak wykonać (no bo jak nie ?) ale jeżeli wartośc danego pola pozostanie pusta, to już nie będzie wyszukiwać, chcę zrobić dynamiczne wyszukiwanie, czyli jeżeli nei zostanie wpisana jedna wartosc, to bedzie wybieralo rekordy bez tej wartosci ...
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




http://forum.php.pl/index.php?showtopic=34450&st=0
Go to the top of the page
+Quote Post
dr_NO
post
Post #7





Grupa: Zarejestrowani
Postów: 197
Pomógł: 15
Dołączył: 10.09.2006
Skąd: Siemianowice Śląskie / Katowice

Ostrzeżenie: (0%)
-----


  1. <?php
  2.  
  3. $wh = array();
  4. if ($warunek1)
  5.  $wh[] = 'jakiś warunek1';
  6. if ($warunek2)
  7.  $wh[] = '(jakiś warunek2 or jakis warunek 3)';
  8. //.....
  9. if (!empty($wh))
  10.  $where = 'where '.implode(' and ', $wh);
  11. else
  12.  $where = '';
  13.  
  14. $sql = 'select ..... '.$where;
  15. ?>

Dzięki za odpowiedź, ale jak mógłbym prosić o małe wyjaśnienie byłbym wdzięczny, ja naprawdę dzisiaj nie kontaktuję, tragiczny tydzień za mną a choróbsko straszne ; ( prosze tylko o wyjasnienie, mniejwięcej co i jak reszta będzie ok ...
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Za bardzo nie wiem co tu tlumaczyc.

$wh to tablica warunkow. Tablica ta jest wypelniana, gdy pojawi się jakies wypelnione pole w formularzu. Wowczas tworzony jest warunek sql dla tego pola i wkladany do tablicy. Na koniec tablica ta jest lączona za pomocą AND i dokladana do zapytania. PRoste jak drut (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
dr_NO
post
Post #9





Grupa: Zarejestrowani
Postów: 197
Pomógł: 15
Dołączył: 10.09.2006
Skąd: Siemianowice Śląskie / Katowice

Ostrzeżenie: (0%)
-----


blh, racja ... nie ma to jak całkowity brak kontaktu ; /

czyli powiedzmy że:
  1. <?php
  2. if ($warunek1)
  3.  $wh[] = 'jakiś warunek1';
  4. ?>

mogłoby wyglądac tak:
  1. <?php
  2. if ($dane_z_post)
  3.  $wh[] = 'pole_z_tabeli <= $dane_z_post';
  4. ?>

kurde banalny problem ktory poprzez niedowlad ktoregos z platu muzgu staje sie nie do przeskoczenia ... sad but true ...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 18.09.2025 - 19:24