![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 0 Dołączył: 9.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
mam takie zapytanie
gdy sie poda w formularzu wszystko tj nazwa, opis, firma, kolor to wszystko dziala ok ale jesli ktores z pol zostaje niewypelnione (a użytkownik musi miec taka mozliwosc) to mimo ze pozostale wartosci znajduja sie w bazie nie zwraca nic Jesli ktos wie jak to rozwiazac to bylbym wdzieczny Interesuja mnie rozwiazana w samym zapytaniu mysql oraz przez php Ten post edytował batman 2.09.2008, 18:12:04
Powód edycji: nobody expects spanish inquisition
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 295 Pomógł: 9 Dołączył: 8.02.2006 Ostrzeżenie: (0%) ![]() ![]() |
tak chodzi o to żebyś posklejał zapytanie i go potem użył.
Też się kiedyś spotkałem z tym problemem co opisujesz. Możesz to zrobić na dwa sposoby. Jeden jest dość skomplikowany bo wymaga od ciebie szeregu instrukcji warunkowych które uwzględnią wszystkie możliwe przypadki. drugi sposób jest taki Kod ... if($zmienna1 != '') { $sql .= "cos LIKE '%cos%' AND "; } if($zmienna2 != '') { $sql .= "cos2 LIKE '%cos2%' AND "; } $sql .= "jakies_pole != ''"; // może tu też być np: $sql .= "jakies_pole LIKE '$''$'"; może to nie jest zbyt eleganckie i nie powinno się tak robić, ale ja tak rozwiązałem ten problem kiedyś przy czymś tam pracując. Ogólnie rzecz polega na tym, że dajesz jakiś absurdalny warunek który będzie spełniony zawsze. Np. pole z identyfikatorem różne od pustego ciągu znaków. W ten sposób zamykasz zapytanie i nie zostaje ci to brzydkie AND na końcu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) wydajności to nie obniża w żaden dostrzegalny dla przeciętnego śmiertelnika sposób. Kodu AŻ tak bardzo nie bruździ a spełnia swoje zadanie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) mam nadzieje, że nikt się nie zgorszy tym może trochę mało wyrafinowanym sposobem....on po prostu spełnia swoją rolę i nikomu nie wadzi (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 14:35 |