Foros del Web » Programando para Internet » PHP »

Crear buscador a mas de dos tablas en php

Estas en el tema de Crear buscador a mas de dos tablas en php en el foro de PHP en Foros del Web. Hola chicos quisiera saber como poder buscar un resulatados a ma de dos tablas en php mediante un variable que vendria siendo esta Código PHP: ...
  #1 (permalink)  
Antiguo 30/08/2011, 07:58
 
Fecha de Ingreso: abril-2010
Mensajes: 151
Antigüedad: 14 años
Puntos: 1
Crear buscador a mas de dos tablas en php

Hola chicos quisiera saber como poder buscar un resulatados a ma de dos tablas en php mediante un variable que vendria siendo esta

Código PHP:
$q $util->setSecure($_GET['q']); 
eh echo asi y me busca el resultado de esta tabla

Código PHP:
$sqlStr "SELECT * FROM datos_padre WHERE dp_cedula_padre LIKE '%$q%'"
pero son 3 tablas el cual quisiera buscar el resultado escrito por el usuario en el buscador el cual son solo numero ya que es un registro y se busca por cedula ejemplo 15820680 bien siendo la cedula del padre o madre o bien buscar por folio que vendria siendo un id especifico ejemplo 002 esas tres buscquedas las quiero hacer en mi buscador
  #2 (permalink)  
Antiguo 30/08/2011, 08:16
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 8 meses
Puntos: 194
Respuesta: Crear buscador a mas de dos tablas en php

necesitas que el dato a buscar este en las 3 tablas? tendrías que hacer un inner join para eso. Si no sabes como pasame la estructura de tus 3 tablas y te muestro la query.

Saludos!
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #3 (permalink)  
Antiguo 30/08/2011, 08:26
 
Fecha de Ingreso: abril-2010
Mensajes: 151
Antigüedad: 14 años
Puntos: 1
Respuesta: Crear buscador a mas de dos tablas en php

ok ya te lo paso
  #4 (permalink)  
Antiguo 30/08/2011, 08:31
 
Fecha de Ingreso: abril-2010
Mensajes: 151
Antigüedad: 14 años
Puntos: 1
Respuesta: Crear buscador a mas de dos tablas en php

tablas de datos del padre

Código MySQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS "datos_padre" (
  2.   "dp_id_folio" int(11) NOT NULL,
  3.   "dp_nombre_apellidos" varchar(100) NOT NULL,
  4.   "dp_cedula_padre" int(11) NOT NULL,
  5.   "dp_edad" int(11) NOT NULL,
  6.   "dp_profesion_ocupacion" varchar(40) NOT NULL,
  7.   "dp_tipo_document" varchar(2) NOT NULL,
  8.   "dp_nacionalidad" varchar(40) NOT NULL,
  9.   "dp_comunidad_pueblo" varchar(40) NOT NULL,
  10.   "dp_dir_recidencia" varchar(20) NOT NULL,
  11.   "dp_declaracion_iden" varchar(100) NOT NULL
  12. );

Datos de la madre

Código MySQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS "datos_madre" (
  2.   "d_id_folio" int(11) NOT NULL,
  3.   "d_nombre_apellidos" varchar(100) NOT NULL,
  4.   "d_cedula_madre" int(11) NOT NULL,
  5.   "d_edad" int(11) NOT NULL,
  6.   "d_profesion_ocupacion" varchar(40) NOT NULL,
  7.   "d_tipo_document" varchar(2) NOT NULL,
  8.   "d_nacionalidad" varchar(40) NOT NULL,
  9.   "d_comunidad_pueblo" varchar(40) NOT NULL,
  10.   "d_dir_recidencia" varchar(20) NOT NULL,
  11.   "d_declaracion_iden" varchar(100) NOT NULL
  12. );

como podras ver esas dos tablas tiene cudula_madre y cedula padre el cual tiene un id_folio que son el mismo id el cual las relaciona quiero hacer una busqueda tanto por cedulas como por el id_folio ya si el usuario no se sabe la cedula y se sabe el id_folio lo busque por algunas de esas dos
  #5 (permalink)  
Antiguo 30/08/2011, 08:53
Avatar de winderj90  
Fecha de Ingreso: agosto-2011
Ubicación: Caracas - Venezuela
Mensajes: 8
Antigüedad: 12 años, 7 meses
Puntos: 4
Respuesta: Crear buscador a mas de dos tablas en php

buenas mi pana, lo q me fije es q no es necesario tener las dos tablas ya q tienes los mismos campos, mi recomendacion es q la unas y le agregues un campo mas " PARENTESCO" y los donde iria si es padre o madre y la consulta quedaria algo asi:

Código PHP:
$sqlStr "SELECT * FROM nombre_tabla WHERE campo_cedula LIKE '$q%' OR dp_id_folio='$id_folio'"
Te recomiendo q busques la x cedula de esta forma $q% para q solo te traiga los que empiezan por la cedula q introducen y no traiga de mas... Saludos espero te sirva...
  #6 (permalink)  
Antiguo 30/08/2011, 09:05
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 8 meses
Puntos: 194
Respuesta: Crear buscador a mas de dos tablas en php

Código PHP:
"select * 
from datos_padre p, datos_madre m 
where p.dp_id_folio = m.dp_id_folio 
    and (p.dp_id_folio = '$id_folio' or m.campo_cedula LIKE '$q%' or p.campo_cedula LIKE '$q%')" 
Con esta query realizas la búsqueda que necesitas :)

Igualmente de ser posible juntar las 2 tablas en una como indican en el comentario anterior, seria una buena idea.
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #7 (permalink)  
Antiguo 30/08/2011, 10:06
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Crear buscador a mas de dos tablas en php

Yo creo que lo único que quieres es hacer la misma búsqueda en ambas tablas y sacar un UNION, pero bueno, cada uno lo habéis visto de una forma diferente.

Te dejo mi versión:
Código MySQL:
Ver original
  1. $sqlStr = "SELECT * FROM datos_padre WHERE dp_cedula_padre LIKE '%$q%'";
  2. $sqlStr .= "UNION";
  3. $sqlStr .= "SELECT * FROM datos_madre WHERE dp_cedula_padre LIKE '%$q%'";

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?

Etiquetas: ajaxphp, buscadorphp, consultasphp, mysql, tablas
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 11:01.