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

ayuda, buscador con 3 tablas combinadas

Estas en el tema de ayuda, buscador con 3 tablas combinadas en el foro de Bases de Datos General en Foros del Web. Hola quisiera saber si alguien puede orientarme un poco respecto a un buscador q estoy armando con las siguientes tablas. tabla medicos. (id_medico + nombre, ...
  #1 (permalink)  
Antiguo 12/02/2011, 01:40
 
Fecha de Ingreso: febrero-2011
Ubicación: Capital federal
Mensajes: 16
Antigüedad: 13 años, 10 meses
Puntos: 1
Pregunta ayuda, buscador con 3 tablas combinadas

Hola quisiera saber si alguien puede orientarme un poco respecto a un buscador q estoy armando con las siguientes tablas.

tabla medicos. (id_medico + nombre, apellido, domicilio etc.)

tabla medicos_especialidades. (guarda id_especialidad como radiologo, pediatra, etc + id_medico) [puede ser una sola especialidad]

tabla medicos_obras_sociales (id_medico + id_obra_social) [pueden ser varias obras sociales ]

el buscador tiene 3 campos

x palabra
x codigo de especialidad (1 select)
x obras sociales (opcion de tildar varios checkboxs)

si vienen en la busqueda por separado no tengo problema. ahora como se hace cuando vienen varias de esas opciones combinadas? (palabra + id_especialidad + obras sociales)

espero q puedan orientarme al respecto para poder comprenderlo mejor

Gracias!
  #2 (permalink)  
Antiguo 12/02/2011, 03:30
 
Fecha de Ingreso: febrero-2011
Ubicación: Capital federal
Mensajes: 16
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: ayuda, buscador con 3 tablas combinadas

Bueno, lo solucione.

si alguno considera que se puede mejorar, agradesco los comentarios.

aqui lo posteo por si a alguien le sirve



$sql="SELECT * FROM medicos ";


if($especialidad!=""){
$sql .="INNER JOIN medicos_especialidades ON medicos.id_medico = medicos_especialidades.id_medico AND medicos_especialidades.id_especialidad = $especialidad ";
}

if($obra_social!=""){
$sql .=" INNER JOIN medicos_obras_sociales ON medicos.id_medico = medicos_obras_sociales.id_medico AND medicos_obras_sociales.id_obra_social IN ($obra_social) ";
}

if($palabra!=""){
$sql .=" WHERE medicos.nombre LIKE '%$palabra%' OR medicos.apellido LIKE '%$palabra%' OR medicos.domicilio LIKE '%$palabra%' ";
}

$sql .=" GROUP BY medicos.id_medico ORDER BY medicos.nombre ASC ";


Salu2!

Etiquetas: busquedas, combinadas, consultas, mysql, tablas, 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 00:45.