Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: FULL TEXT SEARCH - zliczanie znalezionych wyrażeń
Forum PHP.pl > Forum > Bazy danych > MySQL
NoiseMc
Witam

Pytam bazę:

  1. SELECT IDRekordu,
  2. MATCH (
  3. Tytul, Tresc
  4. )
  5. AGAINST (
  6. 'wyrażenie'
  7. IN BOOLEAN
  8. MODE
  9. ) AS Trafnosc
  10. FROM `tabela`


dostaję wynik, który pokazuje mi trafność jako jakiśtam współczynnik według którego mogę posortować wynik.

Teraz chodzi mi o to, żeby (najlepiej po stronie bazy) zliczyć ilość wystąpień danego wyrażenia w każdym wierszu i każdej kolumnie czyli chciałbym otrzymać taki wynik:

Cytat
IDRekordu | Trafnosc | IloscWystapienTytul | IloscWystapienTresc


wiem, że mogę to pozliczać w php ale problem jest w tym, że php porównując stringi jest przy tym case sensitive, a mysql nie i jeżeli wpiszę w szukarkę 'słowo', a mysql znajdzie 'SŁOWO' to php nie policzy tego słowa, a jeżeli będę chciał porównywać zlowercase - owane ciągi to będę musiał korbić z funkcją, która zamienia polskie znaczki z dużych na małe, a wolę tego uniknąć.

Jeżeli ktoś ma jakiś pomysł proszę o pomoc.

Dzięki i pozdrawiam
paranoya
NoiseMc: Możesz zawsze w php porównywać zrzucając do lowercase'a, czyli:

if (strtolower($coś_z_bazy) == strtolower($coś_innego)) ...

Można oczywiście użyć też na przykład strnatcasecmp() ;]

Teraz ja podłączyłbym się do tego pytania - bo potrzebuję taką rzecz zrobić w mysql'u i użycie php nie wchodzi w grę. Ma ktoś pomysł na zliczanie ilości wystąpienia danego stringa w polu?
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.