Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyszukiwarka
Forum PHP.pl > Forum > Bazy danych
Misiuu
Witam, napisałem sobie prostą wyszukiwarkę nazw z bazy danych
formularz wygląda tak :

  1. <form id="submit" method="post" name="submit" action="index.php?page=searchplaces">
  2.  
  3.  
  4. <center><b>Szukaj:</b> <input type="text" name="szukaj" id="szukaj" class="text" size="20" />
  5.  
  6.  
  7. <button type="submit" id="submit"> Szukaj </button></center>
  8.  
  9. </form>


kod pokazujący dane tak :
  1. <?php
  2.  
  3. $szukaj = htmlspecialchars(trim($_POST['szukaj']));
  4.  
  5. //Konfiguracja połączenia z baza mysql
  6. $baza_host=("localhost");
  7. $baza_login=("root");
  8. $baza_haslo=("");
  9. $baza_nazwa=("tibia");
  10.  
  11. //Łączenie się z bazą mysql
  12. $polaczenie = mysql_connect($baza_host, $baza_login, $baza_haslo);
  13. $db = mysql_select_db($baza_nazwa);
  14.  
  15. //szukanie rekordów do bazy mysql
  16. $result = mysql_query("SELECT `id`, `name`, `namelink`, `kopis` FROM `places` WHERE `name` LIKE ('%$szukaj%')");
  17. include('site/searchplace.php');
  18. echo '<table class="table1" width="100%"><th>Nazwa</th><th>Opis</th>';
  19. if(mysql_num_rows($result) > 0) {
  20. while($row123 = mysql_fetch_assoc($result))
  21. {
  22. echo '<tr><td width="50%"><center><a href=index.php?page=places&name='.$row123['namelink'].'>'.$row123['name'].'</a></center></td><td width="50%">'.$row123['kopis'].'</td></tr>';
  23. }
  24. }
  25.  
  26. echo '</table>';
  27. echo '<a href="index.php?page=places"><b>Come Back</b></a>';
  28. ?>


Chciałbym do tego dopisać, żeby wyraz który zostaje wyszukiwany minimalnie miał np. 4 znaki, oraz , żeby pokazywało
- nic nie znaleziono , czy wie ktoś jak to zrobić ? smile.gif
Rid
Cytat
Chciałbym do tego dopisać, żeby wyraz który zostaje wyszukiwany minimalnie miał np. 4 znaki, oraz , żeby pokazywało
- nic nie znaleziono , czy wie ktoś jak to zrobić.

Można to zrobić w samym zapytaniu,ale po co obciążać bazę dodatkowymi kryteriami.Nie lepiej zrobić to w php?questionmark.gif

  1. if(strlen($szukaj)>4){
  2. $result = mysql_query("SELECT `id`, `name`, `namelink`, `kopis` FROM `places` WHERE `name` LIKE ('%$szukaj%')");
  3. include('site/searchplace.php');
  4. echo '<table class="table1" width="100%"><th>Nazwa</th><th>Opis</th>';
  5. if(mysql_num_rows($result) > 0) {
  6. while($row123 = mysql_fetch_assoc($result))
  7. {
  8. echo '<tr><td width="50%"><center><a href=index.php?page=places&name='.$row123['namelink'].'>'.$row123['name'].'</a></center></td><td width="50%">'.$row123['kopis'].'</td></tr>';
  9. }
  10. }
  11. }
  12. else{
  13. echo "nie znaleziono";}
darko
Zainteresujcie się Sphinx-em lub Solr-em.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.