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