![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 17.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
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 "; } Ten post edytował Jeffu 18.08.2010, 19:12:29 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 20:21 |