Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]wyszukiwarka, w momencie gdy pusty forularz ładuje sie pusta strona a nie komunikat
anka_skakanka
post 17.03.2011, 23:20:28
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 2.03.2011

Ostrzeżenie: (0%)
-----


Witam, zrobiłam wyszukiwarkę na bazie typu INNOdb a więc bez full-textu.. W momencie gdy kliknę w przycisk "szukaj" są opcje:
1. wprowadzono słowo, jest w bazie --> wyświetla je
2. wprowadzono słowo, nie ma w bazie --> komunikat
3. nic nie wprowadozno --> komunikat
No i w tym momencie 1wsze opcje działają a 3cia sie sypie tzn. zamisat komunikatu "w celu korzystania z wyszukiwarki treba coś wpisać" pojawia sie pusta strona ... wszytsko działa dobrze dopóki nie jest podpięte do diva ...
w pliku index. php mam formularz
  1. <div id="left">
  2. <h3> Wyszukiwarka </h3>
  3. <!--menu po lewej - wyszukiwarka-->
  4. <ul>
  5. <form name="form1" method="get" action="index.php?wyszukaj&">
  6. <input type="hidden" name="wyszukaj" value="TRUE" />
  7. <input type="text" name="wyszukaj" size="20">
  8. <input type="submit" name="Submit" value="Szukaj">
  9. (itd)
  10. if ($_GET["wyszukaj"])
  11. {include("szukaj.php"); }
  12. </form>
  13. </ul>
  14. <br>


w pliku szukaj php
  1. <body>
  2. <h2>Wyniki wyszukiwania</h2>
  3. <?php
  4. // program wyszukiwarki - SZUKAJ.php
  5. if (($_GET['wyszukaj'])) {
  6. $szukaj =$_GET['wyszukaj'];
  7. $szukaj=trim($_GET['wyszukaj']); // usunięcie niepotrzebnych spacji
  8. // sprawdzenie, czy użytkownik cokolwiek wpisał
  9. if ($szukaj!= &#8216;’{ // if ($szukaj!= ‘’) {
  10. include("config.php"); // połączenie z bazą danych
  11. /* Like - pozwala wyszukać dany ciąg w bazie danych % - symbolizuje dowolny inny ciąg znaków
  12. or pozwoli wyszukiwać usługę w nazwie */
  13. $pytanie_p = mysql_query("Select * From uslugi Where nazwa_uslugi Like '%".$szukaj."%'")
  14. or die ('błąd zapytania'); // zapytanie do bazy
  15. $liczba_rekordow = mysql_num_rows($pytanie_p);
  16. if ($liczba_rekordow==0) {
  17. echo "Brak wyników dla wyszukianej frazy ".$szukaj."";
  18. }
  19. else {
  20. echo "Wyszukiwanie znalazło ".$liczba_rekordow." pasujących wyników
  21. do szukanego wyrażenia <strong>".$szukaj." </strong><br><br>";
  22. echo "<table cellpadding=\"2\" border=1>";
  23. print ('<tr>');
  24. print ('<th>Nazwa usługi</th>'); print ('<th>Opis usługi</th>'); print('<th> Cena w zakładzie</th>');
  25. print ('</tr>');
  26. while($rekord_p = mysql_fetch_array($pytanie_p))
  27. {
  28. echo "<tr>";
  29. echo "<td>".$rekord_p['nazwa_uslugi']."</td>";
  30. echo "<td>".$rekord_p['opis_uslugi']."</td>";
  31. echo "<td>".$rekord_p['cena_w_zakladzie']."</td>";
  32. print ('</tr>');
  33. } //koniec while
  34. print ('</table>');
  35. } //koniec else wyszukiwanych fraz
  36. }
  37. } //konief if getwyszukaj
  38. else {
  39. echo "Należy coś wpisac by skorzystać z wyszukiwarki!";
  40. }
  41. ?>

Są jakieś pomysły na rozwiązanie ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
anka_skakanka
post 18.03.2011, 19:19:06
Post #2





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 2.03.2011

Ostrzeżenie: (0%)
-----


Cytat(sadistic_son @ 18.03.2011, 18:57:39 ) *
Co ma robić ta wyszukiwarka jeśli wpiszę np. ala kot pies?
1) Ma szukać wszystkich rekordów zawierających słowa ala, kot i pies?
2) Ma szukać wszystkich rekordów zawierających przynajmniej jedno z tych słow?
3) Ma szukać wszystkich rekordów zawierających ciąg ala kot pies?

czy można to napisac tak :
  1. $szukaj=trim(mysql_real_escape_string($szukaj));
?... bo w jakimś skrypcie znalazłam tak
  1. $stare_haslo = md5(mysql_real_escape_string (trim($_POST['stare_haslo'])));

Jak dostąd wpisałam np mycie modelowanie --> to wychodził mi rekord idealnie w to pasujący.. ale opcja 2 by mi bardziej pasowała .. jak dobrze to rozumiem to pwoinno mi przy ciagu męskie strzyżenie odszukać wszystkie rekordy które mają słowo strzyżenie lub męskie ..
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 Wersja Lo-Fi Aktualny czas: 29.06.2025 - 09:30