Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]wyszukiwanie osobno słów
tenloginjestzaje...
post
Post #1





Grupa: Zarejestrowani
Postów: 358
Pomógł: 1
Dołączył: 20.07.2014

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


Witam
robię wyszukiwanie, które działa prawidłowo ale wyszukuje całą frazę, do rozbicia frazy używam explode - również działa jednak do zapytania sql i tak trafiają dwa słowa jako jedna fraza czyli stoję w miejscu. Dzięki

  1. $search = $_GET['szukaj'];
  2. $text = explode(' ', $search);
  3. $i=0;
  4. foreach($text as $t){
  5. $text[$i] = $t;
  6. $i++;
  7. }
  8. $szukaj2 = implode(' ',$text);
  9. $query = mysql_query("SELECT * FROM `tabela` WHERE `tresc` LIKE '%$szukaj2%' ");
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
phpion
post
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




1. Ignorujesz to, co Ci koledzy piszą - uparcie stosujesz content LIKE '%$szukaj%'. Gdzie to rozbicie na pojedyncze słowa?
2. Uważaj na stosowanie OR'ów w zapytaniach - kłaniają się zasady logiki. Przykładowo 1 AND 2 OR 3 to coś innego niż 1 AND (2 OR 3). W uproszczeniu: elementy połączone OR'em pakuj w nawiasy.
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 - 03:54