Mailinglisten-Archive |
> Hallo zusammen,
>
> Bin neu dabei und auch noch relativ neu mit php und sql usw. und habe nun
> eine
> Frage:
>
> In meiner DB Tabellenzeile hab ich kommaseparierte Wertelisten aus einem
> multiple select a la 1,3,5,12 oder 9,10,11
> Nun will ich z.B. alle Einträge, die eine 1 im Feld haben aber natürlich
> nicht die 10, 11, 12 etc. selecten.
>
> Von einem Kollegen habe ich folgenden Ansatz gefunden:
>
> x sei deine gewünschte Zahl, dann matched dies
> "~[^0-9]*x[^0-9]*~"
> alles, was keine Ziffer um die gewünschte Zahl hat.
Wenn Werte mit , getrennt:
SELECT * FROM tabelle WHERE FIND_IN_SET('1',feld_name);
Wobei 1 der gesuchte Wert ist. Funtioniert auch mit Wörtern;
feld_name beinhaltet: "text,hallo,blah,foorbar"
SELECT * FROM tabelle WHERE FIND_IN_SET('Hallo',feld_name);
Nachzulesen bei http://www.mysql.com/doc/S/t/String_functions.html
php::bar PHP Wiki - Listenarchive