Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

consulta LIKE%%

Estas en el tema de consulta LIKE%% en el foro de Mysql en Foros del Web. buenas a todos, tengo el siguiente problema. he hecho un buscador para mi bd de usuarios. he hecho un buscador por email, provincia, y quiero ...
  #1 (permalink)  
Antiguo 03/12/2008, 08:23
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 10 meses
Puntos: 3
consulta LIKE%%

buenas a todos,

tengo el siguiente problema. he hecho un buscador para mi bd de usuarios. he hecho un buscador por email, provincia, y quiero hacer uno por nombre.

el problema es que en la bd tengo 2 campos, es decir, nombre y apellidos. en el campo de la busqueda, puedo introducir o el nombre, o el nombre + apellidos, o los apellidos.. es decir, todas las combinaciones posibles.

Código:
SELECT * FROM datos_candidatos INNER JOIN datos_personales ON datos_candidatos.idcandidato = datos_personales.idcandidato WHERE datos_personales.nombre LIKE '%$nombre%' OR datos_personales.apellidos LIKE '%$nombre%'
pero no me salgo. de que forma puedo hacerlo?

saludos,
  #2 (permalink)  
Antiguo 03/12/2008, 10:51
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 10 meses
Puntos: 3
Respuesta: consulta LIKE%%

ninguna sugerencia?

saludos,
  #3 (permalink)  
Antiguo 03/12/2008, 11:46
Avatar de xempro  
Fecha de Ingreso: marzo-2007
Ubicación: Chile
Mensajes: 222
Antigüedad: 17 años, 8 meses
Puntos: 6
Respuesta: consulta LIKE%%

Código:
SELECT * 
FROM datos_candidatos dc
INNER JOIN datos_personales dp
ON dc.idcandidato=dp.idcandidato 
WHERE concat(dp.nombre,' 'dp.apellidos) LIKE '%$nombre%'
  #4 (permalink)  
Antiguo 04/12/2008, 02:42
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 10 meses
Puntos: 3
Respuesta: consulta LIKE%%

buenas xempro,

la consulta me devuelve el siguiente error:

MySQL ha dicho:

#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'dp.apellidos ) LIKE 'jose luis pepon'
LIMIT 0, 30' at line 1

que hay mal?

saludos
  #5 (permalink)  
Antiguo 04/12/2008, 03:30
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 8 meses
Puntos: 300
Respuesta: consulta LIKE%%

Sin entrar en el modo en que está escrito el código PHP, algo ajeno a este foro, te diré que parece tratarse de una pequeña errata en el código proporcionado por Xempro, que, creo, es lo que buscas. Te falta una coma antes de dp.apellidos. He puesto '%Rodríguez%' un valor absoluto para evitar la variable PHP. Pero tú vuelve a poner tu variable.

SELECT *
FROM datos_candidatos dc
INNER JOIN datos_personales dp
ON dc.idcandidato=dp.idcandidato
WHERE concat(dp.nombre,' ',dp.apellidos) LIKE '%Rodríguez%'
  #6 (permalink)  
Antiguo 04/12/2008, 06:24
Avatar de xempro  
Fecha de Ingreso: marzo-2007
Ubicación: Chile
Mensajes: 222
Antigüedad: 17 años, 8 meses
Puntos: 6
Respuesta: consulta LIKE%%

Cita:
Iniciado por jurena Ver Mensaje
Sin entrar en el modo en que está escrito el código PHP, algo ajeno a este foro, te diré que parece tratarse de una pequeña errata en el código proporcionado por Xempro, que, creo, es lo que buscas. Te falta una coma antes de dp.apellidos. He puesto '%Rodríguez%' un valor absoluto para evitar la variable PHP. Pero tú vuelve a poner tu variable.

SELECT *
FROM datos_candidatos dc
INNER JOIN datos_personales dp
ON dc.idcandidato=dp.idcandidato
WHERE concat(dp.nombre,' ',dp.apellidos) LIKE '%Rodríguez%'
Ups! efectivamente me faltó una coma en la concatenación.
  #7 (permalink)  
Antiguo 11/12/2008, 10:23
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 10 meses
Puntos: 3
Respuesta: consulta LIKE%%

buenas!!!

que se me pasó daros las gracias, sobretodo a xempro y jurena!! no me funcionaba, y era pq la variable nombre la ponia sin $!!!!

aunque sea tarde, muchas gracias!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:12.