Also mein Problem liegt nicht an der PHP-Umsetzung sondern am
SQL-
Query:
Der User sucht nach
cat. Also lautet das
Query %cat%.
Da aber "cat" unter Umständen einige Hundert Suchergebnisse liefert, habe ich so eine Leiste eingebaut:
Code:
A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
Wenn der User auf "A" klickt, wird das
Query so abgeändert:
A%cat%, also nur die Suchergebnisse angezeigt, die mit A beginnen. Da gibts auch kein Problem.
Nur gibt es auch Suchergebnisse, welche nicht mit Buchstaben, sondern mit einer Ziffer oder einem Sonderzeichen beginnen. Wie bekomme ich diese jetzt? Ich will nicht 10 Buttons machen mit 1, 2, 3, ... sondern einen Button, der
alle Einträge, welche mit einer Ziffer beginnen anzeigt.
Zitat von
marabu:
du schreibst von Präfixsuche und zeigst "B%cat%". Wenn es wirklich nur um eine Präfixsuche geht, dann geht es auch ohne LIKE und dessen schlechtes Laufzeitverhalten. Greife einfach das erste Zeichen per Substring() ab und machen einen Mengentest mit WHERE substring(...) IN ('0', '1', ...). Die genaue Syntax kannst du bestimmt in der Doku nachlesen.
Werde ich mal probieren.
Grüße
Faux