Ver Mensaje Individual
  #6 (permalink)  
Antiguo 05/11/2015, 11:36
Avatar de kahlito
kahlito
Colaborador
 
Fecha de Ingreso: marzo-2003
Ubicación: En el Estrecho y el mar
Mensajes: 2.936
Antigüedad: 21 años, 1 mes
Puntos: 65
Respuesta: Buscador que solo reconoce de dos registros iguales de la tabla usuarios u

Cita:
Iniciado por hechicerd0 Ver Mensaje
Borra todos los caracteres sobrantes del final del nombre que no contengan una letra?
Y también borra todos los espacios que sean mayores de 1 antes de llegar al final.
Gracias hechicerd0, voy a probarlo.

Cita:
Iniciado por mortiprogramador Ver Mensaje
Saludo
Pero eso no debería haber dado problema, pues la consulta esta con LIKE,
y eso haría que encaje, debe ser otra cosa que no hace match.

Lo digo porque inserte los registros tal cual se muestran en el
ejemplo
(22, 'lucia ', 'peña ', 'nutria30'...), (Espacio en nombre y apellido)
(22, 'lucia', 'peña ', 'nutria30'...), (Espacio en apellido)

Y haciendo la consulta me trae ambos, esto es porque el LIKE es flexible
para esa clase de búsqueda, así que no debería haber problema.

El asunto cambia sí se hace así

Ej
Código SQL:
Ver original
  1. SELECT * FROM USER WHERE USER
  2. -- LIKE '%lucia%' || CONCAT(user,' ', pass) LIKE 'peña' (ambos)
  3. -- LIKE '%lucia %' || CONCAT(user,' ', pass) LIKE 'peña' (uno)
  4. LIKE '%lucia%' || CONCAT(USER,' ', pass) LIKE 'peña ' (ambos)

Es decir, depende tanto de como se encuentren los datos en la
base de datos, pero también como lo busque la persona (con o sin espacios)

Hola mortiprogramador, la verdad es que me dio por probar en el buscador dejando un espacio y vi que también salia pero claro normalmente las búsquedas no se hacen con espacios.

Aunque en principio parto de nuevo con la consulta así:

Código PHP:
Ver original
  1. $query = "SELECT * FROM usuarios WHERE usuario LIKE '%$busqueda%'|| CONCAT(nombre,' ', apellidos) LIKE '%$busqueda%'";

Voy a intentar solucionarlo con vuestras explicaciones. Gracias de nuevo.