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

Consulta de dos campos

Estas en el tema de Consulta de dos campos en el foro de Mysql en Foros del Web. Hola a todos, Estoy terminando mi autocomplete en jquery que funciona insertando en un input los valores que se desean buscar en la base de ...
  #1 (permalink)  
Antiguo 21/12/2015, 10:38
 
Fecha de Ingreso: diciembre-2015
Mensajes: 8
Antigüedad: 8 años, 4 meses
Puntos: 0
Consulta de dos campos

Hola a todos,

Estoy terminando mi autocomplete en jquery que funciona insertando en un input los valores que se desean buscar en la base de datos. La tabla de clientes esta compuesta por campo Nombre y campo apellidos que estan separados. Ahora mismo al poner algo en el input si pongo nombre solamente me lo localiza o si pongo apellido unicamente tambien pero si pongo una mezcla de ambos nombre + apellido la consulta no me saca a nadie y es eso lo que estoy buscando. Ahora mismo mi sentencia SQL es esta:
Código MySQL:
Ver original
  1. SELECT dni FROM clientes WHERE nombre like '" . $search . "%' OR apellidos like '" . $search . "%'

donde search es lo que se introduce a traves del campo input;

Imaginaros que tengo los siguientes registros:

Manuel fernandez tapia dni -> 12345678m
Santiago jimenez -> 11111111c

Mi objetivo es que cuando introduzca en el campo manuel fernandez, me saque el dni 12345678m

Ahora mismo me funciona solo cuando pongo manuel o pongo fernandez y quiero que me haga una combinacion de nombre y apellidos

Última edición por gnzsoloyo; 21/12/2015 a las 15:08
  #2 (permalink)  
Antiguo 21/12/2015, 13:46
 
Fecha de Ingreso: diciembre-2015
Mensajes: 8
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: Consulta de dos campos

He estado leyendo sobre los FULLTEXT en los cuales se puede buscar en dos campos o mas diferentes, pero el problema de este es que no afina del todo, por ejemplo con los usuarios:

Alberto sanchez
Mariano Megía
Julian Garcia prieto
Daniel Garcia redondo
Manuel sanchez garcia
Código MySQL:
Ver original
  1. SELECT dni FROM clientes WHERE MATCH(nombre,apellidos) AGAINST('Julian Garcia');

esto me devuelve los 3 nombres que contienen la palabra garcia, en lugar de devolverme solo Julian.

Creo que es el metodo que mas se acerca a lo que estoy buscando pero sabeis si puedo afinar un poco mas?

Última edición por gnzsoloyo; 21/12/2015 a las 15:08

Etiquetas: campo, campos, registros, select, sql, tabla
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 23:07.