Re: [PHP-ES] una duda!!!!
[email protected] (David Blanco)
| Newsgroups | php.general.es |
|---|---|
| Message-ID | <CAJQN2p40sbXkXAnwxdB86_+ubG5x54EzLuPEyMLcPJ0UJrAy=A@mail.gmail.com> |
Hola! El 15 de septiembre de 2011 12:24, Irantzu Leunda Biskarret < [email protected]> escribió: > Tengo que hacer una select de un campo de una base de datos que se > llama recursos. > > el campo recursos puede contener cosas de este tipo: > > 18;36 > 18 > 1,18,36 > 1;18 > > El caso es que necesito que me muestre todos los registros donde > aparece el 18 (por ejemplo) > > No lo hago con un like porque si pongo 1, me aparecerian los del 18, etc. > > me han hablado de expresiones irregulares pero no tengo ni idea. > > yo pensaba que podría haber una instrucción que me lea dentro del > campo lo que estoy buscando. > Suponiendo que la base de datos sea MySQL tienes al menos dos opciones: 1 - Usar expresiones regulares para buscar un patrón en el valor del campo. La documentación está aquí: http://dev.mysql.com/doc/refman/5.0/es/regexp.html 2 - Usar un campo de tipo SET. Como parece que los valores se repiten (1, 18, 36, etc.) es posible que pudieras definir el campo como SET. En campos de este tipo se puede buscar mediante la función "FIND_IN_SET" de MySQL. Tienes más información aquí: http://dev.mysql.com/doc/refman/5.0/es/set.html Espero que te haya sido de ayuda. Un saludo