Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyszukiwarka
Misiuu
post
Post #1





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 13.10.2009

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


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Rid
post
Post #2





Grupa: Zarejestrowani
Postów: 715
Pomógł: 47
Dołączył: 5.12.2010

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


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";}


Ten post edytował Rid 27.08.2011, 23:12:18
Go to the top of the page
+Quote Post
darko
post
Post #3





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


Zainteresujcie się Sphinx-em lub Solr-em.


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post

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 Aktualny czas: 21.08.2025 - 20:12