Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Cómo generar una página a partir de una consulta MySQL?

Estas en el tema de Cómo generar una página a partir de una consulta MySQL? en el foro de PHP en Foros del Web. Hola. Esta es mi primera intervención en Foros del Web y no hace más de una semana que estoy progamando en PHP. Pinchando en un ...
  #1 (permalink)  
Antiguo 21/05/2013, 14:02
 
Fecha de Ingreso: mayo-2013
Ubicación: Argentina, Buenos Aires, Mar del Tuyú
Mensajes: 3
Antigüedad: 10 años, 11 meses
Puntos: 0
Pregunta Cómo generar una página a partir de una consulta MySQL?

Hola. Esta es mi primera intervención en Foros del Web y no hace más de una semana que estoy progamando en PHP.

Pinchando en un enlace, necesito generar una consulta que me devuelva una página con datos.

Tengo una base de datos con varias tablas a las que accedo mediante consultas. A partir de una de esas consultas puedo generar una página que tiene lo siguiente:

Hospital 1

Cardiología
lun, 07:00, Acosta
lun, 09:00, Ensina
mar, 07:00, Acosta
mar, 08:00, Colantonio
mié, 07:00, Acosta
mié, 08:00, Colantonio
jue, 07:00, Acosta
jue, 08:00, Colantonio
jue, 09:00, Ensina
vie, 07:00, Acosta

Hospital 2

Alergología
jue, 16:00, Zárate

Cardiología

lun, 14:00, Ensina
jue, 08:30, Colman

Clínica médica
lun, 08:00, Urrutia
lun, 11:00, Priori
lun, 13:00, Caucia
mar, 13:00, Caucia
mié, 08:00, Urrutia
mié, 08:00, Priori
mié, 13:00, Caucia
jue, 08:00, Urrutia
jue, 13:00, Caucia
vie, 13:00, Caucia

Son los turnos de los médicos de varios hospitales.

Mi problema comienza aquí. Lo que yo quiero es que el usuario pueda acceder a los horarios de un médico cualquiera en todos los hospitales a los que ese médico concurre con sólo pinchar en su nombre.

Por ejemplo, al pinchar en Caucia, se genere una consulta que me devuelva

Caucia (Clínica médica)

lun, 08:30, Hospital 5
mar, 08:30, Hospital 9
jue, 13:00, Hospital 2
vie, 13:00, Hospital 2

A todos, muchísimas gracias.

Última edición por ClaudioUribeRosner; 21/05/2013 a las 14:18 Razón: Agregar claridad.
  #2 (permalink)  
Antiguo 21/05/2013, 15:35
 
Fecha de Ingreso: noviembre-2012
Ubicación: Caracas - Venezuela
Mensajes: 116
Antigüedad: 11 años, 4 meses
Puntos: 1
Respuesta: Cómo generar una página a partir de una consulta MySQL?

Esto es más un problema de diseño de base de datos

Yo lo harías así:

3 tablas: horarios, hospitales, medicos

Tabla Horarios:

id, dias, horas, id_hospital, departamento, id_medico

Tabla Hospitales:

id_hospital, nombre_hospital, direccion

Tabla Médicos:

id_medico, nombre, carnet


La tabla horarios es la principal y conecta con hospitales y medicos,

Con tu diseño qué pasa si hay un nuevo hospital? Tendrías que hacer una nueva tabla, con este diseño sólo tienes que agregar el hospital a la tabla hospital, igual con el médico.


Si quieres un Query para ver en qué hospitales trabaja este doctor hacer un join donde por medio del id_medico traes los horarios que él tenga registrado


Incluso puedes perfeccionar este diseño agregando una tabla de horarios y una tabla de departamentos

el query seria algo como


Código PHP:
 SELECT horarios.diashorarios.horashospitales.nombre_hospitalmedicos.nombre_medico FROM horarios,hospitales,medicos WHERE horarios.id_hospital hospitales.id_hospital AND horarios.id_medicomedicos.id_medico AND id_medico=(id del medico
  #3 (permalink)  
Antiguo 22/05/2013, 18:26
 
Fecha de Ingreso: mayo-2013
Ubicación: Argentina, Buenos Aires, Mar del Tuyú
Mensajes: 3
Antigüedad: 10 años, 11 meses
Puntos: 0
Respuesta: Cómo generar una página a partir de una consulta MySQL?

Muchísimas gracias por tomarte el tiempo para contestarme, angelsds. Como sospechaba, no fui lo suficientemente claro.

La base de datos tiene 5 tablas:

Dias (IdDia, Dia) //lun, mar, mié...
Horarios (IdProfesional, IdHospital, IdDia, Hora, Observaciones) //Horarios de cada profesional en cada hospital.
Hospitales (IdHospital, Nombre, Direccion, Telefono)
Profesionales (IdProfesional, IdServicio, NombreProfesional) // Médicos y su especialidad
Servicios (IdServicio, NombreServicio) // Especialidades

Profesionales y Hospitales tienen una relación uno a varios con Horarios (lo que genera una relación varios a varios entre Profesionales y Hospitales)

La salida por pantalla que pegué en mi primer post es el resultado de una consulta sobre esas tablas.

Lo que yo no sé hacer es generar una consulta con sólo pinchar en el nombre de un médico y que me dé como resultado datos de ese médico.
  #4 (permalink)  
Antiguo 24/05/2013, 08:11
 
Fecha de Ingreso: noviembre-2012
Ubicación: Caracas - Venezuela
Mensajes: 116
Antigüedad: 11 años, 4 meses
Puntos: 1
Respuesta: Cómo generar una página a partir de una consulta MySQL?

Ya entendí lo que quieres hacer, quieres que cuando se de click sobre el nombre del medico te lleve a otra pagina con los datos de todos los hospitales donde trabaja el médico cierto?

Puedes hacerlo así como tu dices o creas un campo adicional y pones una imagen que dice "Info", puede ser de ambas formas.

Con php haces un query a la BD y armas la tabla (supongo que sabes hacer una tabla en php y vaciar la informacion de la base de datos)

En el campo nombre del médico o en la imagen "info"(opcional o lo haces como tú quieres agregas esto):

Código PHP:

 <td><a href='info_medico.php?id_medico=<?php echo base64_encode($fila['id_medico']);?> '> <?php echo $fila["nombre_medico"]; ?>  </a></td>
Básicamente es un hipervínculo que te llevará a otra pagina donde está otra tabla que debe recibir el id del medico para hacer un query a la BD y traerse la info que necesitas.


PD: eso de base64 simplemente es que usé ese hash para que el numero no quede tan expuesto en la barra de herramientas, digamos que es una "manera segura" de enviar por get los datos que vas a capturar en el otro archivo

Última edición por angelsds; 24/05/2013 a las 08:47
  #5 (permalink)  
Antiguo 25/05/2013, 05:55
 
Fecha de Ingreso: mayo-2013
Ubicación: Argentina, Buenos Aires, Mar del Tuyú
Mensajes: 3
Antigüedad: 10 años, 11 meses
Puntos: 0
Respuesta: Cómo generar una página a partir de una consulta MySQL?

Y bué! Cuando uno sabe, sabe; no hay nada que hacerle. ¡Y vos sabés angelsds! (bien a lo argentino te lo digo). Muchísimas gracias. Gracias también por el tip de base64_encode que, obviamente, no lo conocía. Uh! estoy muy contento.

Etiquetas: mysql+consulta
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:43.