Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Problem z wyszukiwaniem dwóch fraz
Mlody993
post
Post #1





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 12.02.2009

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


Witam,
mam następujący kod:
  1. $zm = ''.$_POST['phrase'].'';
  2.  
  3. $tab = explode(' ', $zm);
  4.  
  5.  
  6. $query="Select * From aktualnosci Where tytul Like '%$tab[0]%' AND miasto Like '%$tab[1]%' AND dzielnica Like '%$tab[2]%' order by tytul asc;";
  7.  
  8. $result = mysql_query($query);
  9. $obAmount=mysql_num_rows($result);
  10.  
  11. echo'Znaleziono <b>'.$obAmount.'</b> wyników dla szukanej frazy: <b>'.$tab[0].'/'.$tab[1].'/'.$tab[2].'</b><br /><br />';


Problem jest taki, że kiedy wpiszę np. wypadek warszawa to wyskakują poprawne wyniki dla tego zapytania. Jednak problem występuje kiedy zmienię kolejność i wpiszę na przykład warszawa wypadek, wtedy zwraca mi zero wyników.

Próbowałem zrobić tytul Like 'fraza' and tytul like 'fraza2' jednak to nie pomaga. ;/ Ktoś pomoże mi to ogarnąć?
Go to the top of the page
+Quote Post
rad11
post
Post #2





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

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


Spróbuj zamiast and dac or lecz to co robisz jest bez sensu czemu to ma służyć ?
Go to the top of the page
+Quote Post
Mlody993
post
Post #3





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 12.02.2009

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


To ma być wyszukiwarka.

Próbowałem skorzystać z WHERE MATCH(tytul, miasto, dzielnica) i AGAINST("'%&tab[0]%'") jednak wtedy nie wyświetla mi wyników

@edit:
Dalej w kodzie jest oczywiście formuła wyświetlającą wyniki.

Nikt nie jest w stanie pomoc?

Naprawdę nikt nie jest w stanie pomóc?

Ten post edytował Mlody993 25.03.2016, 18:51:07
Go to the top of the page
+Quote Post
rad11
post
Post #4





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

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


Stwórz stringa w pętli po explode gdzie bedzie

  1.  
  2. (tytuł LIKE tab[0] AND miasto LIKE tab[0] AND dzielnica LIKE tab[0]) OR


Za or taki sam stringi tylko dla tab[1] i kolejno w pętli tab[i]. Sorry że tak pisane Ale pisze na telefonie. A tak poza tym użyj jakiegoś elasticsearcha lub sphinxa. Bo takie dzielenie jest bez sensu.
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: 22.08.2025 - 06:17