Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Problem z długimi zapytaniami w wyszukiwarce
oi.
post
Post #1





Grupa: Zarejestrowani
Postów: 145
Pomógł: 1
Dołączył: 12.07.2006

Ostrzeżenie: (10%)
X----


Mam problem z wyszukiwarką na stronie, gdy ktoś wpisze długa frazę d przeszukania, np "jaka jest pogoda w Zakopanem"
Zmienna $znajdz przybiera wartość jaka jest pogoda w Zakopanem
Treść na stronie wyszukuję za pomocą:
  1. $pytanie = "SELECT * FROM newsy WHERE tytul LIKE '%$znajdz%' or tresc LIKE '%$znajdz%' LIMIT 10";

Za pomocą jakich funkcji zróżnicowac
  1. $znajdz="jaka jest pogoda w Zakopanem";
na warianty typu:

  1. $znajdz2="jaka jest pogoda";
  2. $znajdz="pogoda w Zakopanem";
  3. $znajdz="jaka jest";
  4. $znajdz="jaka jest w Zakopanem";
  5. ...


Ten post edytował oi. 13.06.2011, 14:48:26
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
melkorm
post
Post #2





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


@sadistic_son
Nie lepiej:
  1. $zwrot = explode(' ',$zwrot);
  2. $like = array();
  3. foreach( $zwrot as $z )
  4. {
  5. $like[] = " tytul LIKE '%{$z}%' ";
  6. }
  7. $pytanie = sprintf("SELECT * FROM newsy WHERE %s LIMIT 10", implode(' OR ', $like ));


Oczywiście walidację itp zostawiamy twórcy tematu.

Ten post edytował melkorm 13.06.2011, 16:18:57
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 02:46