dr_NO
13.12.2007, 18:02:18
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.
SirZooro
13.12.2007, 18:11:54
Musisz dodać odpowiednie warunki w zapytaniu po WHERE.
1010
13.12.2007, 18:32:17
<?php
$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;"); ?>
mniej więcej coś takiego, dostosuj pod swoją tabele i powinno działać
ps. pisane z palca, może zawierać drobne błędy
drPayton
13.12.2007, 19:16:07
Popraw proszę temat na zgodny z
zasadami forum przedszkole, w przeciwnym wypadku wątek zostanie zamknięty.
Pozdrawiam!
dr_NO
13.12.2007, 19:40:07
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 ...
dr_NO
13.12.2007, 19:55:45
<?php
if ($warunek1)
$wh[] = 'jakiś warunek1';
if ($warunek2)
$wh[] = '(jakiś warunek2 or jakis warunek 3)';
//.....
$where = 'where '.implode(' and ', $wh); else
$where = '';
$sql = 'select ..... '.$where;
?>
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 ...
nospor
13.12.2007, 19:59:50
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
dr_NO
13.12.2007, 20:06:59
blh, racja ... nie ma to jak całkowity brak kontaktu ; /
czyli powiedzmy że:
<?php
if ($warunek1)
$wh[] = 'jakiś warunek1';
?>
mogłoby wyglądac tak:
<?php
if ($dane_z_post)
$wh[] = 'pole_z_tabeli <= $dane_z_post';
?>
kurde banalny problem ktory poprzez niedowlad ktoregos z platu muzgu staje sie nie do przeskoczenia ... sad but true ...