SoloCodigo
Programación Web y Scripting => PHP => Mensaje iniciado 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
-
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:
SELECT * FROM ABC WHERE apellido LIKE '$apellidoC%'
Si pones Gar, esto te devolverá todo lo que empiece con gar.
Si usas lo siguiente:
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.
-
Solo una duda, no tendra problemas con las comillas en esa query?
-
No si las comillas del string son dobles ( " ).... sino, tendrá que encadenar si o si con puntos (.)
Altareum.
-
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.