[PHP/Mysql] Suchfunktion Problem

traffic

Well-known member
5 Mai 2006
675
25
Hallo,

ich laße den User über ein Textfeld ein Suchwort eintippen!
Sagen wir: großes Script

In den Datenbank ist zum Beispiel ein String gespeichert:
"Dies ist ein großes Buch über ein PHP Script"

nun gibt er aber keine Treffer aus....

PHP:
$result = mysql_query("SELECT * FROM artikel WHERE artikelname like '%$search%');

Hat jemand vielleicht eine Ahnung was ich verkehrt gemacht habe?

Vielen Dank
 
Zuletzt bearbeitet:
ActionScripter :LOL:

traffic, ich glaube du hast deine Frage vergessen :biggrin: Oder lautet deine Frage "Er gibt nur einen Treffer aus es sollter aber mehr sein?" ?
Antwort: "Dein Query sucht nach einer Artikelnummer bei der vor sowie hinter $search eine beliebige Anzahl von Zeichen stehen darf"


Edit: wenn in der DB "großes Buch" steht, wie soll er dann "großes Script" finden? :biggrin: du musst das wenn schon dann so machen: WHERE artikelnummer like '%großes%' and artikelnummer like '%buch%'

aber auch dann wird er deinen eintrag net finden, für das was du willst muss eine or-bedingung rein, aber das würde nicht wirklich dem entsprechen wonach der user sucht
 
hab meinen Post geändert..zu schnell getippt.

also er zeigt leider keine ergebnisse an, wenn ich nur "großes" oder "Script" eintippe gehts. Möchte aber gerne dass es auch so geht: "großes Script"
 
hab meinen Post geändert..zu schnell getippt.

also er zeigt leider keine ergebnisse an, wenn ich nur "großes" oder "Script" eintippe gehts. Möchte aber gerne dass es auch so geht: "großes Script"

wenn du beides haben willst, du musst du entweder dein suchkriterium in alle bestandteile zerlegen und kombiniert suchen oder du ersetzt einfach für die suche alle leerzeichen in dem suchstring durch %

[edit] ginge z.b. mit:
PHP:
$search = str_replace( " ", "%", $search );
[/edit]