Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SQL]Wyszukiwanie danych z bazy
szarobury
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 11.08.2009

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


Witam,
pragnę odnaleźć dane z bazy przy pomocy słowa w stringu, LIKE wyszukuje po literce w stringu, mi chodzi aby wyszukiwało mi po konkretnych słowach.
Bo jeżeli w bazie mam tekst 'tralalala' to wystarczy ze dam LIKE{$a$} i juz mam, a ja tak nie chce. Chce tak: baza > 'witajcie moi drodzy' i chce zrobić, że jeśli wpisze 'moi' to zwróci mi wynik.
Przepraszam, ale nie umiem tego jaśniej wytłumaczyć.

Ten post edytował batman 12.08.2009, 07:37:19
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Zależy od tego jak to ma działać. Jeśli masz zamiar zrobić z tego coś w stylu "chmury tagów" to wspomniany przez Erixa system z tabelą złączeniową będzie chyba najlepszy. Gorzej gdy frazy mają być wyszukiwane w całości tekstu, tytule i czymś tam jeszcze. Wtedy jedyną chyba sensowną opcją będzie ustawienie na tych polach tabeli indexu full-text. Ma to tę zaletę, że działają wtedy dodatkowe kwantyfikatory wyszukiwania znane z wyszukiwarek jak + czy - co może ładnie posegregować nam wyniki pod względem trafności. Inną zaletą jest częściowe wyszukiwanie. LIKE i wariacje (również tagi o jakich wspomina Erix) słowa "awaria" i "awarie" potraktują jako dwa osobne co sprawi, że w wynikach jednego nie zobaczymy drugiego. Może się zdarzyć, że ze słowem "awarie" znajdzie tylko 3 artykuły, choć "awaria" ma ich 10, ale wyszukiwanie, nie używając full-text, nie uwzględnia ich. Minusem jest niestety szybkość działania. No ale albo szybkość, albo trafność wyników. Używania LIKE czy %LIKE% radziłbym unikać.
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: 3.10.2025 - 06:22