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

[SOLUCIONADO] Buscador "avanzado"

Estas en el tema de Buscador "avanzado" en el foro de Mysql en Foros del Web. Hola. Ando con lo de hacer un buscador, explico por partes. Tengo una Base de datos que tiene los siguientes datos: nombre apaterno amaterno fnac ...
  #1 (permalink)  
Antiguo 07/11/2013, 16:25
 
Fecha de Ingreso: mayo-2013
Mensajes: 55
Antigüedad: 10 años, 10 meses
Puntos: 1
Pregunta Buscador "avanzado"

Hola.

Ando con lo de hacer un buscador, explico por partes.

Tengo una Base de datos que tiene los siguientes datos:

nombre apaterno amaterno fnac dcalle dcol cp dmpio dedo base

Tengo un formulario para la búsqueda dentro de esa base de datos:

Cita:
Editado: Código de programacion no permitido en foros de Bases de Datos. Leer las normas, por favor.
Y el archivo para la consulta de los datos:

Cita:
Editado: Código de programacion no permitido en foros de Bases de Datos.
Código MySQL:
Ver original
  1. SELECT * FROM tabla_prueba WHERE nombre LIKE '%".$nom."%'
Bueno, puedo hacer la consulta de un campo ingresado, pero no se como hacer para:

Si ingresa un dato en cualquier campo que busque por el dato ingresado

Si ingresa un dato en un campo y otro mas en el campo siguiente que realice la busqueda en la base tomando en cuenta las coincidencias

Si escribe "martinez" en Apellido Paterno que arroje a todos los Martinez

Pero su pone "alberto" en nombre y "martinez" en Apellido que indique solo a los que en sus nombres contengan Alberto + Martinez (julio alberto martinez aguilar, alberto martinez, carlos alberto martinez casto... etc)

Y que muestre toda la fila, todos los datos que no se buscan que los muestre...

Espero explicarme correctamente, no soy programador he llegado hasta aquí de forma autodidacta. He consultado la pagina de http://dev.mysql.com/ pero igual no esta fácil entenderla jejeje...

De antemano Muchas Gracias

Última edición por gnzsoloyo; 07/11/2013 a las 19:19
  #2 (permalink)  
Antiguo 08/11/2013, 02:21
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Buscador "avanzado"

albemartinez,
no es solo una pregunta para la base de datos y si sabes como manejar AND tras el WHERE tendrás solucionada la parte que corresponde a la base. La cadena de consulta se adapta a la selección del formulario mediante programación. Y eso es algo que debes resolver en el foro PHP principalmente.
Dicho de manera sencilla, si el campo nombre del formulario contiene un valor y también el de apellidos y los demás no, la sintaxis de consulta sería SELECT nombre, apellidos WHERE nombre = '@nombre' AND apellidos = '@apellidos'

pero si el campo nombre no está lleno, SELECT nombre, apellidos WHERE apellidos = '@apellidos'

por lo tanto, debes revisar lo enviado y configurar la cadena de consulta de acuerdo con los campos rellenados en el formulario. Existen trucos para hacerlo, pero el foro indicado es el foro PHP, si es ese el programa que utilizas.
Naturalmente hay otras cuestiones como la codificación, el uso de LIKE, búsquedas sobre índices FULL-TEXT para controlar el tipo de búsqueda que quieres, pero lo primero es aprender a hacer una cadena dinámica de consulta SQL de acuerdo con lo enviado al servidor.
  #3 (permalink)  
Antiguo 08/11/2013, 10:39
 
Fecha de Ingreso: mayo-2013
Mensajes: 55
Antigüedad: 10 años, 10 meses
Puntos: 1
Respuesta: Buscador "avanzado"

Gracias, copio y pego el tema en el foro PHP.

Haré lo que dices arreglare la cosa esa del PHP y buscare las de AND OR

Gracias de nuevo
  #4 (permalink)  
Antiguo 08/11/2013, 10:43
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Buscador "avanzado"

Nosotros lo hubiésemos podido mover... Sólo tenías que decirlo, o notificarlo con el ícono.
Tenlo en cuenta para otra ocasiómn.

__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: buscador, campo, php, 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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 05:31.