sajborg
24.09.2005, 10:16:06
Witam zastanawiam sie jak napisac skrypcik szukajacy w sql odpowiednich fraz wpisanych jedno słowo to nie jest problem ale gdy ktos wpisze "ala ma kota" albo "ala+kot" to co wtedy nie wyszuka zastanawiam sie jak to zrobic jedyne co teraz mi przychodzi do dwa przypadki dla spacji i dla + i w kazdym przypadku explode całego wyrazenia na spacje albo + i wtedy dodawanie do where LIKE 'ala' OR LIKE 'ma' OR LIKE 'kota' ale jak ktos wpisze ala ma+kota co to wtedy sie pogubi

ma ktos jakis pomysł

Albo moze wpadlem na pomysl zamienic wszystki + na spacje albo odwrotnie i przeszukiwac tylko pod wzgledem spacji tak jak mowilem rozbic i dodawac LIKE wo WHERE
Lechu
24.09.2005, 17:17:03
Pomysł z OR moim zdaniem nienajlepszy. Jeśli trzeba wyszukać całą frazę, tzn słowa sąsiadujące ze sobą, to u mnie like wyszukuje ze spacjami. Jeśli coś w stylu ala+ma, czyli te dwa słowa mają być, jednak niekoniecznie obok siebie, to wtedy skorzystaj z AND. Jeśli będziesz korzystał z OR to zwróci Ci nawet te rekordy w których występuje tylko jedno wpisane słowo, a nie wszystkie.
sajborg
24.09.2005, 19:58:05
Czyli dobze zrozumialem ze jak sa spacje to mam uzywac AND a jak sa + to OR
Lechu
24.09.2005, 21:00:18
Roznica miedzy + a spacja zalezy od tego jak sobie ustalisz zasady wykonywania zapytan w swojej wyszukiwarce. Zawsze wydawalo mi sie ze w wiekszosci wyszukiwarek nie ma miedzy nimi roznicy, wyszukiwane sa strony zawierajace przynajmniej raz kazde z wymienionych slow. W takim wypadku powinienes skorzystac z AND. Jesli natomiast zalezy ci na wyszukiwaniu calej frazy, w wyszukiwarkach zazwyczaj zawarta w " ", to moim zdaniem wystarczy wstawic ta fraze w LIKE bez kombinowania.
Jesli sie myle to prosze mnie poprawic
sajborg
24.09.2005, 22:49:15
No w sumie masz racje thx za pomoc