![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 29.03.2005 Ostrzeżenie: (10%) ![]() ![]() |
mam problem z wyszukiwarką jeśli szukam po kilku opcjach;
jeśli zaznaczam jedną opcję w formularzu: jest wszystko w porządku. Ale jeśli zaznaczę 2 czy 3 to nie pokazuje nic. A to kawałek skryptu wyszukujący dane:
co robię źle? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 231 Pomógł: 17 Dołączył: 26.08.2007 Ostrzeżenie: (10%) ![]() ![]() |
A ja bym zrobił tak:
Ten post edytował Puzi 29.08.2008, 10:35:00 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 29.03.2005 Ostrzeżenie: (10%) ![]() ![]() |
też tak próbowałam, ale wtedy pokazuje ostatni zaznaczony
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 15.12.2004 Skąd: KrK Ostrzeżenie: (10%) ![]() ![]() |
ja bym zrobił jak już to tak:
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 231 Pomógł: 17 Dołączył: 26.08.2007 Ostrzeżenie: (10%) ![]() ![]() |
A co powiesz na takie rozwiązanie:
Oraz ten krótki kodzik PHP:
A tam gdzie masz tym to nie powinno być tak:
(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 29.03.2005 Ostrzeżenie: (10%) ![]() ![]() |
muszę mieć możliwość wyboru np. 2 typów
a to co zrobiłam działa tylko na pojedyncze zaznaczenie (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) może jednak ktoś ma jakiś pomysł ? |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 231 Pomógł: 17 Dołączył: 26.08.2007 Ostrzeżenie: (10%) ![]() ![]() |
a co bys powiedzała na to, żeby w kazym z warunków dopisać zapytanie do bazy??
Tylko że najpierw by Ci sie wyświetlała jedna grupa samochodów a później następna. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 142 Pomógł: 28 Dołączył: 7.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
W select mozna równieeż wybrac kilka opcji, musisz dac opcje multiple
http://www.kurshtml.boo.pl/html/lista_rozw...formularze.html a jeśli chodzi o checkboxy to daj wszystkim tą samą nazwę np. rodz_pojazdu[], wówczas wszystkie zanaczone opcje bedziesz miala w tablicy, później możesz przetworzyc: foreach($_POST['rodz_pojazdu'] as $rodzaj) $rodzaje .= $rodzaj.' OR '; $rodzaje = substr($rodzaje,0, -3); // obcięcie ostatniego OR Ten post edytował tomm 29.08.2008, 16:50:12 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 29.03.2005 Ostrzeżenie: (10%) ![]() ![]() |
akurat z tymi tablicami to nie da rady, ponieważ chceckboxy umieszczam w js, bo te opcje pokazują się w zależności od wybranej grupy
proszę o pomoc |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 142 Pomógł: 28 Dołączył: 7.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
CODE $rodzaje = ''; if($_POST['s1'] == 1) $rodzaje .= ' AND typ = "_OSOBOWY" '; if($_POST['s2'] == 1) $rodzaje .= ' AND typ = "_CIEZAROWY" '; if($_POST['s3'] == 1) $rodzaje .= ' AND typ = "_DOSTAWCZY" '; // zakładając ze wszystkie opcje byly zaznaczone string bedzie wygladal: ' AND typ = "_OSOBOWY" AND typ = "_CIEZAROWY" AND typ = "_DOSTAWCZY" teraz trzeba wyciąć 4 pierwsze znaki za pomoca substr i bedzie przygotowany warunek aby go wstawic do zapytania pisalem bez próbowania |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 5 Dołączył: 28.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 29.03.2005 Ostrzeżenie: (10%) ![]() ![]() |
nie działa (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
pokazuje tylko pojedynczo zaznaczone checkboxy |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 5 Dołączył: 28.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
pokaż zapytanie, które Ci nie działa (to jest zamiast sql_query daj echo)... plus strukturę bazy (show create table) i choć kawałek danych (select * from xxx limit 10;)
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 29.03.2005 Ostrzeżenie: (10%) ![]() ![]() |
nie AND tylko OR. Bo jak pole może być jednocześnie równe "_OSOBOWY" i "_CIEZAROWY". Można też
tak, ale to zapytanie nie chodzi jeśli się wybierze warunek 2 i 3 wtedy będzie OR i OR |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 142 Pomógł: 28 Dołączył: 7.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
CODE $wybrane = ''; if($_POST['poj1'] == 1) $wybrane .= ' typ = "_OSOBOWY" OR'; if($_POST['poj2'] == 1) $wybrane .= ' typ = "_DOSTAWCZY" OR'; if($_POST['poj3'] == 1) $wybrane .= ' typ = "_CIEZAROWY" OR'; $wybrane = substr($wybrane, 0, -2); "select * from baza WHERE $wybrane ORDER BY $sort limit $na_strone" |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 29.03.2005 Ostrzeżenie: (10%) ![]() ![]() |
teraz nie działa nawet bez zaznaczania checkboxów (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 5 Dołączył: 28.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
moja rada: napisz napierw normalne zapytanie SQL które Ci działa (z linii poleceń, bezpośrednio w kliencie SQLowym), a później wstawiaj do kodu PHP.
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 15.12.2004 Skąd: KrK Ostrzeżenie: (10%) ![]() ![]() |
przerób sobie delikatnie mój kod, bo on działa napewno
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 15:31 |