Jump to content
xt:Commerce Community Forum

zuviele Treffer


isbn1

Recommended Posts

Wie kann ich die Suchfunktion so einstellen, dass nur Artikel gefunden werden, wo der Suchbegriff mit dem Wortanfang beginnen muss?

Zur Erklärung: wenn ich avis eingebe wird alles auch wo Davis vorkommt gefunden. Das will ich vermeiden.

Link to comment
Share on other sites

  • 2 weeks later...

Ach Du Armer, jetzt wartest Du schon so lang, und ich se's erst jetzt... ;)

Schau mal in die advanced_search_results.php nach

 //go for keywords... this is the main search process 
Darunter werden die WHERE-Statements für die Suchabfrage in der Datenbank zusammengepusselt. Wo Du schauen musst, sind die LIKE, z.B.
LIKE ('%".addslashes($search_keywords[$i])."%')[/code]




Jetzt müsste man natürlich ein wenig SQL können, denn obiges heisst "Suche alles, wo $search_keywords[$i] [i]drin vorkommt[/i], egal, ob am Anfang oder Ende. Das wird mit den Prozentzeichen % gesagt.



Das obige Statement, was den Suchstring nur am ANFANG eines Wortes findet, würde dann so aussehen:

[CODE]LIKE ('".addslashes($search_keywords[$i])."%')[/code]

...also einfach am Anfang ein Prozentzeichen weniger :rolleyes:

Musst jetzt nur noch die für Dich relevanten Stellen finden - ich kann dir leider keine Zeilennummern o.ä. nennen, da ich die advanced_search_results.php schon zu derbst umgebaut habe...

Hope it helps,

IaN

Link to comment
Share on other sites

Hallo und besten Dank erstmal!

Jetzt werde ich gleich unverschämt!!!

Kann man das noch modifizieren?

Um das zu erklären:

Ich habe ein Buch "Wolfgang Eber, Die letzte Unterhaltung".

Früher - vor deiner Änderung - hätte ich auch bei der Suche nach "erhalt" diesen Treffer bekommen, das ist jetzt weg, gut so. Aber auch "Unterhaltung" bringt natürlich das Buch nicht mehr, da es ja mitten im Produktnamen auftaucht. Ich hätte aber gerne, dass es doch gefunden wird, solange eben "Unterhaltung", bzw. "Unterhalt", etc. eingeben wird. Also dass sich die Einschränkung nicht auf den ganzen Produktnamen, sondern auf einzelne Wörter im Namen beschränkt.

Habe ich das halbwegs verständlich rübergebracht?

Allerbesten Dank,

Andreas

Link to comment
Share on other sites

Hui, jetzt wirds aber haarig...

Informiere Dich einmal über Reguläre Ausdrücke (Regular Expressions) - aber Vorsicht, wenn man das noch nie gemacht hat ist das recht unübersichtlich :eek:

Kleine Starthilfe:

Regular Expressions im MySQL-Handbuch

Regular Expressions vereinfacht erklärt

Jedenfalls müsstest Du die Suche dafür etwas umfangreicher umschreiben als nur hier und da ein Prozentzeichen wegzulassen ;)

Cheers,

IaN

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...