ich bin schon eine Weile dran und komme nicht hinter die Lösung.
Ich möchte aus einer Tabelle einem oder mehrere Datensätze auslesen, welche in einer bestimmten Spalte einen Wert/Ausdruck enthalten. Mein Code sieht momentan so aus:
Code: Alles auswählen
$seite = 17; //Test Beispiel
$sql = 'SELECT *
FROM ' . XYZ_TABLE . "
WHERE (seite REGEXP '($seite,[:>:])')
ORDER BY seite_id";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
Ich möchte nun zum Beispiel alle Datensätze haben, welche in der Spalte 'seite' die Zahl 17 enthalten, aber nicht die Zahl 117.
Ich habe schon verschiedene Versuche mit LIKE und REGEXP gemacht, aber irgendwie finde ich die Lösung nicht. Entweder werden die falschen Datensätze ausgewählt, z.B.17 und 117 obwohl nur 17 gesucht wurde, oder es wird gar kein Datensatz ausgewählt.
[EDIT]
Ich habe die Lösung gefunden, mit FIND_IN_SET geht es.
Code: Alles auswählen
$seite = 17; //Test Beispiel
$sql = 'SELECT *
FROM ' . XYZ_TABLE . "
WHERE FIND_IN_SET(" . $seite . ", seite)
ORDER BY seite_id";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
Gruß Helmut