SoloCodigo

Programación Web y Scripting => PHP => Mensaje iniciado por: javigarcon en Martes 20 de Junio de 2006, 00:59

Título: Consultas "query" Mysql
Publicado por: javigarcon en Martes 20 de Junio de 2006, 00:59
¿Cómo Estan Todos?
Estoy haceindo unas consultas con php en mysql, pero no se como resolver el siguiente problema

en una tabla de datos ABC tengo un campo APELLIDO, y quiero hacer consultas como esta:


select * from ABC where apellido='$apellidoC'
donde $apellidoC = "garcia"

el resultado es bueno si la variable  $apellidoC tiene el dato completo

pero yo quiero que cuando la variable $apellidoC traiga como valor "gar"
en la consulta me salgan apellidos como:

garcia
garzon
garmedia    etc....

espero me haya explicado.. gracias de antemano.. saludos
Título: Re: Consultas "query" Mysql
Publicado por: Altareum en Martes 20 de Junio de 2006, 02:00
Hola javigarcon!!

Para hacer lo que quieres es fácil, se usa el caracter % como un comodín, pero tienes que usar LIKE en lugar del '=' . Donde tu consulta quedaría:

Citar
SELECT * FROM ABC WHERE apellido  LIKE '$apellidoC%'

Si pones Gar, esto te devolverá todo lo que empiece con gar.



Si usas lo siguiente:

Citar
SELECT * FROM ABC WHERE apellido  LIKE '%$apellidoC%'

Si pones Gar, esto te devolverá todo lo que tenga la cadena gar en cualquier parte del texto.

Lo único que tienes que tener en cuenta es que no distingue entre mayúsculas y minúsculas...


Altareum.
Título: Re: Consultas "query" Mysql
Publicado por: ing_marco en Miércoles 21 de Junio de 2006, 18:34
Solo una duda, no tendra problemas con las comillas en esa query?
Título: Re: Consultas "query" Mysql
Publicado por: Altareum en Miércoles 21 de Junio de 2006, 23:41
No si las comillas del string son dobles ( " ).... sino, tendrá que encadenar si o si con puntos (.)

Altareum.
Título: Re: Consultas "query" Mysql
Publicado por: ciber_lep en Miércoles 21 de Junio de 2006, 23:44
es cierto ing_marco debes agregar  apellido  LIKE  concat('$Capellido','%'), espero te sriva y si las comillas sencillas te dan problemas quitas, en todo caso me avisas.