Datenbank-Suchfunktion

Fire-Fabian

Mitglied
Guten Morgen alle zusammen...
Ich habe schon mit der Foren-suchfunktion gesucht,
bin dabei aber nur auf "warum findet der meine seite nicht" usw threads gestoßen.
Meine Frage:

Wie funktioniert eine Suchmaschiene für ein Forum?
Ein input > Suchbegriff, dann ein script was die threads in der Datenbank durchgeht und guckt ob es übereinstimmungen gibt...
nur wie soll das funktionieren?

bei einer SELECT WEHRE `text`='bla'
angabe muss der text ja GENAU übereinstimmen... aber wenn ich nur ein einzelnes wort suche und in `text` steht ein ganzer text mit genau diesem wort drin wird es ja ignoriert...
wie krieg ich das also zum laufen?
 
Für Suchen währe wohl ein LIKE besser... die % stehen für beliebigviele beliebige Zeichen...

SQL:
SELECT * FROM `threats` WHERE `text` LIKE '%$text%'
 
Weil WHERE die Bedingung Festlegt welche Datensätze Dargestellt werden. Das LIKE ist ja nur ein vergleichsoperator, ein anderer ist das = das genau vergleicht. Du kannst natürlich noch weitere Bedinungen reinverknüpfen... so zB:

SQL:
SELECT * FROM `threats` WHERE `text` LIKE '%$text%' AND `userid` = '$user'
 
Mit der PHP Funktion similar_text() könnten man die übereinstimmenden Zeichen ausfindig machen und sie geordnet ausgeben. Also nur, falls du es ohne WHERE machen willst ;)
 
Zurück