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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.