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

ayuda con consulta para un buscador.

Estas en el tema de ayuda con consulta para un buscador. en el foro de Mysql en Foros del Web. Hola estoy haciendo un buscador para mi DB , esta es la estructura de la DB sobre la que estoy trabajando por ahora Uploaded with ...
  #1 (permalink)  
Antiguo 19/11/2010, 11:33
Avatar de RIVERMILLOS  
Fecha de Ingreso: marzo-2010
Mensajes: 1.336
Antigüedad: 14 años, 1 mes
Puntos: 15
ayuda con consulta para un buscador.

Hola estoy haciendo un buscador para mi DB , esta es la estructura de la DB sobre la que estoy trabajando por ahora



Uploaded with ImageShack.us


no se asi sea una forma adeacuada para hacer la consulta quiciera saber cual seria la mejor forma de hacer esta consulta aregandole el nombre del profesor y para que sea rapida .

SELECT * FROM fotocopias WHERE nombre_copia LIKE ' texto ' LIMIT 0,10

saludos
  #2 (permalink)  
Antiguo 19/11/2010, 12:46
Avatar de RIVERMILLOS  
Fecha de Ingreso: marzo-2010
Mensajes: 1.336
Antigüedad: 14 años, 1 mes
Puntos: 15
Respuesta: ayuda con consulta para un buscador.

Ya tengo esta consulta ,


Código MySQL:
Ver original
  1. SELECT U.*,P.nombre FROM uniminuto U
  2.                                     INNER JOIN profesores P
  3.                                     ON U.idprofesor=P.idprofesores
  4.                                     WHERE  U.nombre_copia LIKE '%".$_GET['term']."%' OR  P.nombre LIKE '%".$_GET['term']."%'
  5.                                     LIMIT 0,10

pero mi pregunta es como hacer para que si la persona coloca en nombre y el apellido me siga arrojando resultados?

saludos
  #3 (permalink)  
Antiguo 19/11/2010, 13:21
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: ayuda con consulta para un buscador.

Saludos

Creo que un compañero forista tuvo tu misma inquietud revisa este post Click Aqui. Debes ir construyendo la condición.
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #4 (permalink)  
Antiguo 19/11/2010, 13:38
Avatar de RIVERMILLOS  
Fecha de Ingreso: marzo-2010
Mensajes: 1.336
Antigüedad: 14 años, 1 mes
Puntos: 15
Respuesta: ayuda con consulta para un buscador.

Hola muchas gracias , pero en mi caso no puedo controlar las variables que se ingresan porque el buscador es tipo google , un solo input y con que vaya escribiendo hay se va buscando, ejemplo:

en mi tabla profesores hay uno que se llama 'jose garcia' y en fotocopias tengo en el campo nombre_copia una que se llama 'Programacion OO' si la persona escribe el nombre del profesor le arrojaria resultados , pero si escribe esto: 'jose garcia programacion' ya no me arroja nada.

no se si es lo mismo o fue que no entendi jejeje.


saludos
  #5 (permalink)  
Antiguo 19/11/2010, 13:49
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: ayuda con consulta para un buscador.

Saludos

Te entiendo para ello debes partir la cadena que ingresan si es una sola palabra lo sigues utilizando con LIKE de lo contrario si es una frase podrias utilizar MATCH AGAINST.
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #6 (permalink)  
Antiguo 19/11/2010, 14:07
Avatar de RIVERMILLOS  
Fecha de Ingreso: marzo-2010
Mensajes: 1.336
Antigüedad: 14 años, 1 mes
Puntos: 15
Respuesta: ayuda con consulta para un buscador.

Hola muchas gracias pero hay un grave problema que estoy utilizando innodb hay algo similar al MATCH o AGAINST para innodb?


saludos
  #7 (permalink)  
Antiguo 19/11/2010, 14:28
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: ayuda con consulta para un buscador.

Saludos

En ese caso mmm podrías probar con REGEXP y cada vez que halla un espacio en la frase lo modificas por un OR lógico (|) mmmm seria que lo probaras y nos comentas. No se si exista otra pero es la que se me viene a la cabeza.
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #8 (permalink)  
Antiguo 19/11/2010, 15:02
Avatar de RIVERMILLOS  
Fecha de Ingreso: marzo-2010
Mensajes: 1.336
Antigüedad: 14 años, 1 mes
Puntos: 15
Respuesta: ayuda con consulta para un buscador.

Hola mira lo que hice parace que me funciona


Código MySQL:
Ver original
  1. $cadena=explode(" ",$_GET['term']);
  2. $cadena2=implode(" | ", $cadena);
  3. echo json_encode($bus->consulta("SELECT U.*,P.nombre FROM uniminuto U
  4.                                    INNER JOIN profesores P
  5.                                    ON U.idprofesor=P.idprofesores
  6.                                    WHERE  U.nombre_copia REGEXP '".$cadena2."'
  7.                                    OR  P.nombre REGEXP '".$cadena2."'
  8.                                    LIMIT 0,10;"));


podria tener algun problema ?

edito :creo que tendria un problema al buscar palabra completas no?

saludos
  #9 (permalink)  
Antiguo 19/11/2010, 15:11
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: ayuda con consulta para un buscador.

La verdad hacia era que lo había pensado, pensaría que no igual si tendrías que estar pendiente en los tiempos de respuesta, haz varias pruebas y no se te olvide lo del like.
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #10 (permalink)  
Antiguo 19/11/2010, 16:02
Avatar de RIVERMILLOS  
Fecha de Ingreso: marzo-2010
Mensajes: 1.336
Antigüedad: 14 años, 1 mes
Puntos: 15
Respuesta: ayuda con consulta para un buscador.

hola mira haciendo varia pruebas no logro conseguir que se vayan descartando las que no coincidad completamente. no se como podria ser.

mira si quieres mirar http://estebanquinter.zobyhost.com/

escribe esto "programacion orientada a objetos" sin comillas y veras que no se descarta el segundo resultado..

saludos
  #11 (permalink)  
Antiguo 22/11/2010, 10:26
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: ayuda con consulta para un buscador.

Saludos

Si tienes razón la expresión regular al parecer hace falta indicarle algo mas.. si tu pruebas colocando solo programacion sale correctamente pero si indicas programacion y un espacio ya ahí fallas.

1. Lee este manual Click Aqui
2. De igual forma pienso que también hace falta agregar otro tipo de validación en el php para evitar el error que mencione anteriormente
__________________
:.:Nano.:: @nano_hard - Retornando al foro

Etiquetas: buscadores
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 06:29.