Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapytanie, problem
Forum PHP.pl > Forum > Bazy danych
dreamweb
Witam

mam pole wyszukiwania (formularz) i powiedzmy baze z polem

text LOGTEXT

dla jednego slowa nie ma problemow, wyszukuje ok

a teraz powiedzmy ze mam 2 slowa (wpisuje w pole wyszukiwania)

slowo1 slowo2

odzielone spacjami

i chcialbym dostac takie zapytanie, ktore wyszuka mi w polu text fraze:

slowo1 slowo2

i jednoczesnie fraze:

slowo2 slowo1

czy jest to mozliwe?
zalew
[sql:1:660b3140c3]WHERE `cos` LIKE '%slowo1%' AND `cos` LIKE '%slowo2%' [/sql:1:660b3140c3]?
[sql:1:660b3140c3]WHERE `cos` LIKE '%slowo1 slowo2%' OR `cos` LIKE '%slowo2 slowo1%' [/sql:1:660b3140c3]?

//edited - OR nie AND ;)
Synaps
[sql:1:e9c108861d]
WHERE `text` LIKE '%slowo1 slowo2%' OR `text` LIKE '%slowo2 slowo1%[/sql:1:e9c108861d]

wynikiem beda rekordy gdzie pole text zawiera kombinacje slowo1 slowo2 lub slowo2 slowo1
dreamweb
Witam

Dziekuje, ale co w przypadku gdy bedziemy miec np cale zdanie zlozone powiedzmy z 15 slow?

Zapytanie bedzie straszliwie wielkie. Robic wszystkie kabinacje? Przesada

Myslalem troche o funkcji MATCH
kszychu
Zalew podał ci rozwiązanie. Ja również się skłaniam do jego pierwszego przykładu (AND a nie OR).
dreamweb
Witam

NIe, nie

nie o to chodzi

moze zle sie wyrazilem na poczatku

ktos wpisuje jakies slowa do pola wyszukiwania

i teraz chcialbym miec zapytanie, ktore znajdzie mi to co wpisal ten ktos, oraz wszystkie mozliwe kabinacje naprzemienne slow.

np.

mamy tytul kasety wideo

"indiana jones i cos tam"

a ktos wpisal w wyszukiwanie "cos tam jones indiana"

i chodzi o to, zeby znalazlo "indiana jones i cos tam"

nie and, raczej or
dreamweb
aha, zapomnialem napisac

probowalem z funkcja match

[sql:1:bc65e5b805]
SELECT pr.* FROM tabela pr WHERE MATCH (pr.pole1, pr.pole2, pr.pole3, pr.pole4, pr.pole5) AGAINST ("tekst1 tekst2")
[/sql:1:bc65e5b805]

i znajduje mi mniej wiecej tak, jak chce.

Niestety ta fukncja ma problemy wyszukiwaniem polskich znakow

np. BĄDŹMY, bądźmy

nawet po zmianie kodowania
default-character-set = latin2
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.