Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapytanie z paroma zmienymi ale czasami pus
Forum PHP.pl > Forum > Bazy danych > MySQL
Bourne18
Mam <form> gdzie podaje się 3 zmienne (wyszukiwarka ofert)
Województwo - Wszytskie , Wielkopolskie , Mazowieckie ...
Miasto - Wszytskie , Poznań , Szamotuły , Warszawa .....
Cena - wszystkie , do 30 złotych , do 50 złotych ....

No i teraz moje pytanie , jak skonstruować zapytanie tak aby przykładowo :

$wojewodztwo = Wszytskie
$miasto = Wszytskie
$cena = 50

Zabrało mi wszytskie rekordy z ceną poniżej 50 niezależnie od miejscowosci wojewodztwa .

także żeby działało przy wyborze wojewodztwa oraz Ceny , czyli żeby przy każdej kombinacji wybrało dobrze rekordy


Tabele ma strukture

ID | wojewodztwo | miasto | cena


Wiem że w cenie należy użyc between , ale problem mam jak to zrobić aby przy wyborze "wszystkie" w zapytaniu SQL-owskim ten warunek( WHERE wojewodzto="wszystkie" ? :? ) był pominięty albo tak zrobiony że pobierze wszytskie.
BzikOS
Ominąć je po prostu..

[php:1:31ad544ca1]<?php
$warunki = Array();

if( !empty( $_POST['wojewodztwo'] ) )
$warunki[] = "wojewodztwo = '" . $_POST['wojewodztwo'] . "'";

if( !empty( $_POST['miasto'] ) )
$warunki[] = "miasto = '" . $_POST['miasto'] . "'";

if( count( $warunki ) > 0 )
$warunkiStr = " AND " .implode( 'AND', $warunki );

$sql = "SELECT * FROM tabela WHERE cena > 111" . $warunkiStr;
?>[/php:1:31ad544ca1]

Pisane z palca..
Bourne18
dzięki

pozdrawiam
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.