ik wil geen zoekfunctie die met Like werkt omdat dat te onnauwkeurig zou zijn in dit geval, ik wil graag een zoekfunctie die als de zoekterm in een deel van het record voorkomt het record al als resultaat weergeeft.

bijv je hebt de volgende records
PHP
HTML
CSS
JS

als je dan SS intypt, dan moet alleen CSS eruit komen, maar typ je alleen S, dan moet CSS en JS eruit komen.

nu zal dit met LIKE ook nog wel werken misschien, maar als je in principe maar 1 letter zou typen, dan zou hij al alle resultaten waar die letter in voorkomt moeten weergeven.

het is mogelijk, want ik heb het op een andere website ook al eens gezien.

ik heb dit nodig voor een database met filmtitels. Het is wel zo makkelijk dat als de bezoeker een deel van de titel invoert, alle mogelijke resultaten eruit komen en niet dat hij niets kan vinden als je maar 1 woord van de titel invoert wat met Like dus wel vaak het geval is.

mmh, best wel lang verhaal geworden eigenlijk, hoop dat het duidelijk is.
..maar als je in principe maar 1 letter zou typen, dan zou hij al alle resultaten waar die letter in voorkomt moeten weergeven.


werkt gewoon met LIKE hoor..
In zo'n geval is de syntax:

WHERE veldnaam LIKE '%$zoekstring%'
SELECT * FROM `filmtitels` WHERE `title` LIKE '%[een woord uit de titel]%'
ik heb even snel een testscriptje in elkaar gedraaid met like, en jullie hebben gelijk.

ik had het ook eerst moeten proberen natuurlijk.

ik heb de films in phpmyadmin ingevoerd, en daar heb ik de zoekfunctie dus ook wel eens gebruikt, maar als je daar maar een deel van de titel invoerde pakte hij hem niet, daar moest je echt de hele titel invoeren, ik had toch wel verwacht dat phpmyadmin ook met LIKE zou werken, daarom dat ik deze conclusie trok.

weer een topic voor niets dus :s

EDIT: ik ben nog wel even aan het zoeken geweest, en had iets gevonden van match en against, wat voor verschil is dat dan?
Match against is een zoek optie van MySQL (Full tekst search) als ik het goed heb. Het voordeel daarvan is dat die de tekst bekijkt en in de tekst (of titel, ligt eraan wat jij wil) naar de string zoekt.
De uitkomst wordt dan ook nog eens gesorteerd op relevantie.

Als je bijv zoekt op ring, zou "the ring" hoger eindigen dan "the gathering". Snap je?
ok, en like sorteert het op wat je bij ORDER BY invult neem ik dan aan?
Volgens mij werkt FULLTEXT vanaf een zoekstring met 3 tekens oftewel als je alleen op een S zoekt vind hij nix.
correct me if i'm wrong
@Klaasjan

Als je de reacties leest in de tut die ik aangaf, kom je erachter dat je gelijk hebt.. Maargoed, het is maar net wat je wil met je zoeken he!
Een film is eigenlijk altijd qua titel herkenbaar.. (evt kan je ook nog op omschrijving zoeken)

Reageren