Comunidad de diseño web y desarrollo en internet online

Como buscar campos con Php en Sql

Citar            
MensajeEscrito el 03 Ago 2005 01:33 am
Ocupe esta pero no me resulto:
prueba1 es la tabla
nombre es la columa y jul es lo que ando buscando
SELECT * FROM Prueba1 WHERE Nombre LIKE 'jul%';


Bueno si alguien cacha como se hace o si tengo un error me puede desir...

Es que quiero hacer una busqueda paresida a la que se hace en este foro cuando quieres buscar algo especifico, es para un carro de comprar para buscar en la lista de productos...
ojala me respondan,...
xD
answer

Por york3rs

Claber

561 de clabLevel

1 tutorial

Genero:Masculino  

LA___Chile

msie
Citar            
MensajeEscrito el 03 Ago 2005 01:47 am

Código :

SELECT * FROM Prueba1 WHERE Nombre LIKE '%jul%'; 



Deberías explicar mas, cual es tu problema, para que "cachemos" mejor.

Suerte! ^^

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

clabbrowser
Citar            
MensajeEscrito el 03 Ago 2005 02:13 pm
SELECT * FROM Prueba1 WHERE Nombre LIKE 'jul%';

LIKE 'jul%' = jul* ej: julio, juliembre, julito, jul, y todo lo que empieze en jul
LIKE '%jul%' = *jul* ej: nejulio , jul, ajular, yo todo lo que tenga en el centro la palabra jul.


en like % = a * el simbolo % es un comodín.
tambien puedes usar _ en caso de que quieras limitar a la cantidad de caracteres ejemplo:
WHERE dni LIKE '9_52458';
esto buscara buscara todos los registros que empiezen el primer caractér con 9 y terminen en 52458 sin importar el valor que esta en _
asi:

9552458
9352458
9852458
9952458
9152458

en cambio % no contara los caracteres si usas
WHERE dni LIKE '9%52458';

podrias obterner resultados como:

9152452458
94552458
936352458
9588752458
91852458

espero haber explicado bien.

Por jhony192

791 de clabLevel

1 tutorial

Genero:Masculino  

Just Another Programmer

firefox
Citar            
MensajeEscrito el 04 Sep 2009 04:19 pm
hola compas, soy nuevo en esto pero me surge una duda, como hago para en una consulta usar un comdin para un dato y no usar comdin para otro, se puede. me explico con un ejemplo.

SELECT * FROM Prueba1 WHERE Nombre LIKE '%jul%' AND Apellido LIKE 'perez';

se puede hacer asi? por q intente y no me da resultados, o los dos lleva comodin (%) o ninguno, asi si me funciona.

Asi si funciona
SELECT * FROM Prueba1 WHERE Nombre LIKE '%jul%' AND Apellido LIKE '%perez%';
ó
SELECT * FROM Prueba1 WHERE Nombre LIKE 'jul' AND Apellido LIKE 'perez';

Por jtisnado

5 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 04 Sep 2009 05:41 pm
Mira:

SELECT * FROM Prueba1 WHERE Nombre LIKE '%jul%' AND Apellido LIKE 'perez';

es lo mismo que:

SELECT * FROM Prueba1 WHERE Nombre LIKE '%jul%' AND Apellido = 'perez';

Por lo que solo encontrará aquellos registros donde el apellido sea exactamente 'perez'. Si quieres listar todos los 'perez' quita el LIKE:

SELECT * FROM Prueba1 WHERE Apellido = 'perez';

Recuerda que por un tema de optimización interna es mejor poner la cláusula LIKE al final de WHERE y no al principio.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 04 Sep 2009 05:56 pm
primero gracias por contestar, fijate q creo q no me he explicado, el problema es q lo q quiero es hacer la consulta q me muestre todos los q lleve julio en el campo de nombre pero q en el campo de apellido esten nada mas los perez, pero q se cumplan las 2 condiones.

si yo coloco
SELECT * FROM Prueba1 WHERE Nombre LIKE '%jul%' AND Apellido LIKE 'perez';
no me funciona, veo q es por el comodin %.
ahora si yo coloco

SELECT * FROM Prueba1 WHERE Nombre LIKE '%jul%' AND Apellido LIKE '%perez%';
ó
SELECT * FROM Prueba1 WHERE Nombre LIKE 'jul' AND Apellido LIKE 'perez';

si me funciona, pero veo q es por q o en los 2 campos estoy usando el comdin o en ninguno los uso.

Por jtisnado

5 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 04 Sep 2009 07:07 pm
Entonces si quieres que te encuentre todos los apellidos 'perez' que en su nombre contengan la cadena 'jul', no uses LIKE para igualar el apellido, usa el signo igual, así:

SELECT * FROM Prueba1 WHERE Apellido = 'perez' AND Nombre LIKE '%ju%l;

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 04 Sep 2009 07:48 pm

DriverOp escribió:


SELECT * FROM Prueba1 WHERE Apellido = 'perez' AND Nombre LIKE '%ju%l;


Error Ortografico:

Código :

SELECT * FROM Prueba1 WHERE Apellido = 'perez' AND Nombre LIKE '%jul%';


Anexo:
-Para buscar todos los nombres que empiezen con 'jul' : like 'jul%'
-Para buscar todos los nombres que terminen con 'lio' : like '%lio'
-Para buscar todos los nombres que contengan 'jul' : like '%uli%'
-Para buscar todos los nombres iguales a 'julio' : 'jullio

Por york3rs

Claber

561 de clabLevel

1 tutorial

Genero:Masculino  

LA___Chile

msie8
Citar            
MensajeEscrito el 04 Sep 2009 11:40 pm
off-topic: Me mandé un dedazo, sorry...

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 07 Sep 2009 07:47 pm
ok. gracias por la ayuda, ahora me sale otro problema si quiero buscar un tercer campo ya no me aparece si mezclo los comodines, me explico con un ejemplo.
esto ya no me funciona.

SELECT * FROM Prueba1 WHERE Apellido = 'perez' AND Nombre LIKE '%jul%' AND id LIKE '100';


y cuando le pongo comodines (%) antes del numero 100 si me funciona pero me busca todos los q lleve "%100%" pero si con ese busco especificamente ese numero no me funciona, alguien q me pueda ayudar?

Por jtisnado

5 de clabLevel



Genero:Masculino  

msie7

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.