Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Sortowanie wyników wyszukiwania
Johnas
post 26.02.2011, 01:14:07
Post #1





Grupa: Zarejestrowani
Postów: 650
Pomógł: 16
Dołączył: 5.07.2010
Skąd: Ściśle Tajne

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


Jak sortować wyniki według najbardziej zbliżonych ?
Mam taki skrypt Wyszukiwarki:
  1. if ($_POST['szukaj']){
  2. include('db.php');
  3. $imie = htmlspecialchars(stripslashes(strip_tags(trim($_POST["imie"]))), ENT_QUOTES);
  4. $nazwisko = htmlspecialchars(stripslashes(strip_tags(trim($_POST["nazwisko"]))), ENT_QUOTES);
  5. $miasto = htmlspecialchars(stripslashes(strip_tags(trim($_POST["miasto"]))), ENT_QUOTES);
  6.  
  7. if (strlen($imie) == 0 ) {
  8. $bs++;
  9. echo '<center><span class="blad">Proszę wpisać imię.</span></center><br>';
  10. }
  11.  
  12. if (strlen($nazwisko) == 0 ) {
  13. $bs++;
  14. echo '<center><span class="blad">Proszę wpisać nazwisko.</span></center><br>';
  15. }
  16. if ($bs == 0){
  17. $zapytanie = "SELECT * FROM rejestracja WHERE imie LIKE '%$imie%' OR nazwisko LIKE '%$nazwisko%'";
  18. $wynik = mysql_query($zapytanie);
  19. $iles = mysql_num_rows($wynik);
  20.  
  21. if ($iles){
  22.  
  23. echo <<< KONIEC
  24. <hr>
  25.  
  26. <p>
  27. <center><h2>Znaleziono $iles wyników</h2> </center>
  28. <ul class="gallery clearfix">
  29. <li class="extra">
  30. <font style="position: relative; left: 5px;" color="white">
  31. <br>
  32. KONIEC;
  33. while ($rekord = mysql_fetch_assoc($wynik)){
  34.  
  35. echo '<img src="'.$rekord['avatar'].'" style="float:left;" />'.$rekord['imie'].' '.$rekord['nazwisko'];
  36. }
  37. echo <<< KONIEC
  38. </table>
  39. <br><br>
  40. </font>
  41. </li>
  42. </ul>
  43. </p>
  44. </center>
  45. KONIEC;
  46. } else {
  47. echo <<< KONIEC
  48. <hr>
  49.  
  50. <p>
  51. <center><h2>Nie znaleziono wyników</h2> </center>
  52. <ul class="gallery clearfix">
  53. <li class="extra">
  54. <font style="position: relative; left: 5px;" color="white">
  55. <br>
  56. Nie znaleziono żadnych wyników
  57. <br><br>
  58. </font>
  59. </li>
  60. </ul>
  61. </p>
  62. </center>
  63. KONIEC;
  64. }
  65. }
  66. }


I teraz mam dwóch użytkowników. Rafał M**** i Rafał Tester i jak wpisze w wyszukiwarkę Rafał M*** to pierwszy wynik jest Rafał M*** ale tak samo jest jak wpiszę Rafał Tester. Jak zrobić aby na samej górze były wyszukiwania zbliżone kryteriom?


--------------------
Jak coś jest dobre, to nie znaczy że nie może być to lepsze - Ideały nie istnieją ;D
Strony internetowe Świnoujście
Go to the top of the page
+Quote Post
ylk
post 26.02.2011, 08:42:11
Post #2





Grupa: Zarejestrowani
Postów: 194
Pomógł: 26
Dołączył: 9.01.2011
Skąd: /dev/null

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


W zapytaniu zamiast OR daj AND, wtedy jak wpiszesz "Rafał Tester" nie będzie wypluwał "Rafał M***".
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 Wersja Lo-Fi Aktualny czas: 12.06.2024 - 03:55