Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Problem z wyszukiwaniem dwóch fraz
Forum PHP.pl > Forum > Przedszkole
Mlody993
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ąć?
rad11
Spróbuj zamiast and dac or lecz to co robisz jest bez sensu czemu to ma służyć ?
Mlody993
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?
rad11
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.