![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 15.12.2004 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Ostatnio napisałem coś takiego: Cytat Witam wszystkich Utknąłem w zdechłym punkcie Mam następujący kod w formularzu: CODE <h1>Wyszukiwanie książek w księgarni</h1> <form action="rezultaty.php" method="post"> Wybierz metodę wyszukiwania:<br> <select name="metoda_szukania"> <option value="autor">Autor <option value="tytul">Tytuł <option value="isbn">ISBN </select><br> Wprowadź poszukiwane wyrażenie:<br> <input name="wyrazenie" type="text"> <br><br> <select name="metoda_szukania_1"> <option value="autor">Autor <option value="tytul">Tytuł <option value="isbn">ISBN </select><br> Wprowadź poszukiwane wyrażenie:<br> <input name="wyrazenie_1" type="text"> <bR><br> <select name="metoda_szukania_2"> <option value="0-672-31697-8">0-672-31697-8 <option value="0-672-31745-1">0-672-31745-1 </select><br> <bR> <input type="submit" value="Szukaj"> </form> Wszystko działa bardzo ładnie ale nie wiem jak zrobić, żeby była opcja umożliwiająca wybranie wszystkich pozycji z danej kolumny Czyli coś takiego: CODE <select name="metoda_szukania_2"> <option value="0-672-31697-8">0-672-31697-8 <option value="0-672-31745-1">0-672-31745-1 <option value="wszystkie">wszystkie </select><br> Skrypt wygląda następująco: Kod php: <?php $metoda_szukania=$HTTP_POST_VARS['metoda_szukania']; $metoda_szukania_1=$HTTP_POST_VARS['metoda_szukania_1']; $metoda_szukania_2=$HTTP_POST_VARS['metoda_szukania_2']; $wyrazenie=$HTTP_POST_VARS['wyrazenie']; $wyrazenie_1=$HTTP_POST_VARS['wyrazenie_1']; $wyrazenie=trim($wyrazenie); $wyrazenie_1=trim($wyrazenie_1); if (!$metoda_szukania || !$wyrazenie) { echo 'Brak parametrów wyszukiwania, spróbuj ponownie'; exit; } $metoda_szukania=addslashes($metoda_szukania); $metoda_szukania_1=addslashes($metoda_szukania_1); $metoda_szukania_2=addslashes($metoda_szukania_2); $wyrazenie=addslashes($wyrazenie); $wyrazenie_1=addslashes($wyrazenie_1); $db=mysql_connect('localhost', 'root', 'qwerty') or die ('nie można się połączyć<br>'.mysql_error()); mysql_select_db('ksiazkorama'); $zapytanie= "select * from ksiazki where ".$metoda_szukania." like '%".$wyrazenie."%' AND ".$metoda_szukania_1." like '%".$wyrazenie_1."%' AND isbn='$metoda_szukania_2'"; echo $zapytanie .'<br>'; $wynik=mysql_query($zapytanie); $ile=mysql_num_rows($wynik); echo 'Znaleziono ' . $ile .' pozycji<br>'; for ($i=0; $i<$ile; $i++) { $wiersz=mysql_fetch_array($wynik); echo '<b>' .($i+1) .'.' .'</b>' .'<b>Tytul:</b> '; echo stripslashes($wiersz['tytul']); echo '<br><b>Autor:</b> '; echo stripslashes($wiersz['autor']); echo '<bR><b>ISBN:</b> '; echo stripslashes($wiersz['isbn']) .'<br><br>'; } ?> Jak by ktoś mail pomysł jak to zrobić to bede barrrrrrrrrrdzo wdzieczny:) Dostałem odpowiedź Cytat W przypadku, gdy wartość dla danego szukania będzie równa "wszystkie" to musisz w warunku dać wyszukiwanie po wszystkich polach dla żądanej wartości, czyli bierzesz w nawias a nawiasie full OR, po nawiasie dalej AND jak bylo. I tak dla każdego warunku. Zrobiłem coś takiego
No i MySQL wyrzuca mi wszystkie rekordy a nie tylko te 2 o które mi chodzi. Mam jeszcze pytanie jak zapisać warunek: Cytat W przypadku, gdy wartość dla danego szukania będzie równa "wszystkie" to musisz w warunku dać wyszukiwanie po wszystkich polach dla żądanej wartości, czyli bierzesz w nawias a nawiasie full OR, po nawiasie dalej AND jak bylo. I tak dla każdego warunku. za pomocą formularza, ja zrobiłem coś takiego ale chyba się nie popisałem Heeeeeeeeeeeeeeeeelp -------------------- ...life is just...
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
hihi, odemnie ta rada była. A więc:
Zamykaj option. I sprawdzasz:
propoowałbym ci jeszcze zrobić tablicę na warunki:
i wtedy np:
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 15.12.2004 Ostrzeżenie: (0%) ![]() ![]() |
No po prostu jestem totalnie zaskoczony:)))).
Po prostu uprzedziłeś moje kolejne pytenie, jak zrobić zapytanie dla kilku warunków:)). Dzieki za pomoc, zabieram sie do testowania! Ale wiesz, nie możesz spać spokojnie, bo jak coś pojdzie nie tak to jeszcze bebe wolal o pomoc. TXH -------------------- ...life is just...
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 20.07.2025 - 06:20 |