Pfandfinder
Lieutenant
- Registriert
- Nov. 2020
- Beiträge
- 654
ich habe einen Blog den ich quasi selbst programmiert hab, kein wordpress oder so, ich habe da auch eine Suchfunktion die in der Datenbank so die Eingabe durchsucht :
das funktioniert soweit auch ganz gut bei einzelnen Worten, aber sucht man z.B. "Windows Passwort", weil es im Beitrag um Windows Passwort reset geht aber die worte nicht hintereinander geschrieben kommen, kommt das Ergebnis natürlich nicht. wie kann ich die Suche verbessern ? gibts irgendwo guten Code den man nutzen kann ?
Ich dachte da auch an sowas:
sodass ich die einzelnen Wörter der suche trenne und durch eine Schleife jage und dann diese AND-Abfragen raus kommt. wie kann ich das umsetzen ?
PHP:
$pdo->prepare('SELECT * FROM blog WHERE title LIKE "%'.$suchbegriff.'%" OR title LIKE "%'.str_replace(' ', '-', $suchbegriff).'%" OR title LIKE "%'.str_replace('-', ' ', $suchbegriff).'%" OR title LIKE "%'.str_replace(' ', '', $suchbegriff).'%" OR content LIKE "%'.$suchbegriff.'%" OR content LIKE "%'.str_replace(' ', '-', $suchbegriff).'%" OR content LIKE "%'.str_replace('-', ' ', $suchbegriff).'%" OR content LIKE "%'.str_replace(' ', '-', $suchbegriff).'%" OR content LIKE "%'.str_replace('-', ' ', $suchbegriff).'%" OR content LIKE "%'.str_replace(' ', '', $suchbegriff).'%"');
das funktioniert soweit auch ganz gut bei einzelnen Worten, aber sucht man z.B. "Windows Passwort", weil es im Beitrag um Windows Passwort reset geht aber die worte nicht hintereinander geschrieben kommen, kommt das Ergebnis natürlich nicht. wie kann ich die Suche verbessern ? gibts irgendwo guten Code den man nutzen kann ?
Ich dachte da auch an sowas:
PHP:
WHERE content LIKE "%Windows%" AND content LIKE "%Passwort%" AND content LIKE "%reset%"
sodass ich die einzelnen Wörter der suche trenne und durch eine Schleife jage und dann diese AND-Abfragen raus kommt. wie kann ich das umsetzen ?
Zuletzt bearbeitet: