 |
Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Comunitatea PHP Romania
|
| Subiectul anterior :: Subiectul următor |
| Autor |
Mesaj |
lee
Data înscrierii: 20/Mar/2004
Mesaje: 51
|
| Trimis: Sâm Iun 19, 2004 3:44 pm Titlul subiectului: idee interogare |
|
|
am un form (10 select) care iti permite sa cauti intr-o baza de date, in functie de valorile din vreo 9 cimpuri astfel:
SELECT * FROM marfuri WHERE pret>'$_GET[pret_min]' AND pret<'$_GET[pret_max]' AND localitate='$_GET[localitate]' AND....
exista o problema in trei cazuri: localitate, marca_marfa si tip_marfa.
ex. in form am:
<select name=localitate><option value=0 selected>Toate orasele</option><option value=1> Alba Iulia</option><option value=2> Alexandria.....
daca omul lasa "Toate orasele" inseamna ca am valoarea 0 si nu pot sa folosesc interogarea de mai sus pt. ca la mine in bd prima valoarea a cimpului este 1 pt. Alba Iulia...iar interogarea nu ar gasi nici un 0.
cum fac eu:
$query="SELECT * FROM marfuri WHERE pret>'$_GET[pret_min]' AND pret<'$_GET[pret_max]'"//asta este sigur
if($_GET['localitate']>0){
$query=$query." AND localitate='$_GET[localitate]'";
}//daca este 0 nu mai exista else pt. ca query-ul va fi cel initial, deoarece voi cauta in toate localitatile si dispare conditia legata de localitate
la fel si pt. marca_marfa si pt. cealalta.
la sfirsit adaug si un LIMIT si un ORDER BY, si merge.
problema mea este ca trebuie sa fie alta abordare a acestei probleme fara cele trei testari if. care este?
sper ca m-am facut inteles. merci |
|
| Sus |
|
PHPRomania Bot
Bot Member
Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google |
| Trimis: Mie Dec 26, 2007 7:01 pm Titlul subiectului: Ad |
|
|
|
|
|
| Sus |
|
| |
|