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

consulta que no me hace caso..

Estas en el tema de consulta que no me hace caso.. en el foro de Bases de Datos General en Foros del Web. Hola chic@s!! tengo un problema con esta consulta,uso php y mysql,os explico: Tengo una BD de clientes con los datos habituales guardados sobre ellos.El problema ...
  #1 (permalink)  
Antiguo 09/03/2010, 02:34
 
Fecha de Ingreso: octubre-2009
Mensajes: 154
Antigüedad: 14 años, 6 meses
Puntos: 0
consulta que no me hace caso..

Hola chic@s!!

tengo un problema con esta consulta,uso php y mysql,os explico:

Tengo una BD de clientes con los datos habituales guardados sobre ellos.El problema me viene con los nombre de pila formado por 2 palabras es decir:
Ej. Tengo en la BD
Eduardo Jose
Eduardo Pedro
Eduardo Luis
Eduardo

ahora mismo si pongo 'Eduardo' me encuentra los 4 valores, que es lo que tiene que hacer, pero, si tengo esto en la BD:

Luis Manuel

y busco 'Luis'me dice que no lo encuentra, que no hay cliente con ese nombre, esta es mi consulta:

$sql = "select title, firstname, surname, company, address, postcode, tel, mobile_phone, fax, email, country

from customers

where ((firstname like '".$firstname." %') or (firstname = '$firstname'))";



creo que como no cumple una de las condiciones del or, me dice que no existe,que puedo hacer para que en el caso de que solo haya un nombre compuesto pero no el simple me muestre el compuesto?

Gracias!!
  #2 (permalink)  
Antiguo 09/03/2010, 06:59
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: consulta que no me hace caso..

No te da resultados por que en la primera condición le dices que los que empiecen por el nombre y terminen con lo que quiera haciendo uso del comodín %.
Al digitar luis, esa condición no aplica. En la segunda condición, dice que sea igual.... y luis y eduardo luis no son la misma cosa.

Si quieres que te muestre registros de luis y de eduardo y compuesto hazlo así:

Código PHP:
Ver original
  1. $sql = "select title,
  2. firstname,
  3. surname,
  4. company,
  5. address,
  6. postcode,
  7. tel,
  8. mobile_phone,
  9. fax,
  10. email,
  11. country
  12. from customers
  13. where firstname like '%".$firstname."%'";


saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
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 05:05.