Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Wyszukiwanie-potrzebna pomoc], jednego lub wielu pól za jednym razem
Jeffu
post
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
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 20:21