Witam,
mam takie problem i nie wiem za bardzo jak go rozwiązać. Mam tebelę [ID] [Type] [Size1] [Size2] [Size3]. Mam formularz z polami [Type] [Size1] [Size2] [Size3]
i chcę, żeby użytkownik jeśli poda tylko "Type" będzie mógł przeszukać tabelę tylko dla tego ciągu znaków (tutaj żadnej filozofii nie ma) chcę jednak, żeby użytkownik
mógł zawężać wyniki - żeby mógł wpisać oprócz "Type" , np. "Size1" albo "Size1", "Size2" i "Size3".
Mam takie zapytanie
$zapytanie = "select * from tabela where type like '%".$type."%' ";
jeśli nie wpiszę type (formularz pusty) i dam szukaj to wypisze mi wszystkie rekordy.
Wydawało mi się załatwię to takim zapytaniem, no ale niestety chyba że mam jakiś głupi błąd no albo złą logikę obrałem :/
$zapytanie = "select * from tabela where type like '%".$type."%' and size1 like '%".$size1."%' and size2 like '%".$size2."% and size3 like '%".$size3."%";
Pozdrawiam i z góry dziękuję za pomoc
--------------------------------------------------------------------------------------
Ok mam coś takiego i działa ale to dopiero dwa pola dla pięciu warunków będzie 25 ?
Jest jakiś bardziej optymalny sposób ?
if (($type != '')&&($size_1 == 0))
{
$zapytanie = "select * from table where type like '%".$type."%'";
}
if (($size_1 != 0) && ($type =='') )
{
$zapytanie = "select * from table where size_1 = $size_1 ";
}
if ((!$type =='') && (!$size_1 == 0))
{
$zapytanie = "select * from table where type like '%".$type."%' and size_1 = $size_1 ";
}