Ver Mensaje Individual
  #2  
Antiguo 24-03-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Reputación: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Juansito43 Ver Mensaje
El problema es que no sé como diseñar esa tabla y menos dinamicamente.
Las tablas no se crean dinámicamente.
Debes diseñas la estructura de la base de datos lo primero de todo, pensando en cómo trabajarás después.

Lo primero de todo es tomar papel y lápiz y ponerse a pensar en todo el desarrollo funcional del proceso.
Un cliente pide una cita para el médico xxx.
El médico xxx tiene el código 3, por ejemplo, y trabaja los días 1.Lunes, 3.Miércoles y 5.Viernes de 1000 a 1400

El lunes próximo tiene ocupada todas las citas, el miércoles tiene ocupado 1000, 1030, y 1100, así que la siguiente cita será para las 1130 (suponiendo que dé citas cada 30 minutos), ese es otro dato que deberás guardar en la ficha del médico.
Todo eso es solamente un ejemplo, la imaginación es la principal arma que tenemos para hacer estas cosas.
Así que tenemos, más o menos:
Código:
tabla tbMedicos 
codigo
nombre
diastrabaja
rangominutoscita

tabla tbPacientes
codigo
nombre

tabla tbCitas
codigo
codigopaciente
codigomedico
fechahora
En lugar de un campo para saber si trabaja lunes, martes, miércoles, etc. se puede tener un solo campo que sea por ejemplo 1010100
El primer dígito es lunes, el segundo dígito es martes, el tercero es miércoles, etc. Si es un 1 es que trabaja y si es un 0 es que no trabaja.

La fechahora de la cita puede ser yyyymmddhhmm
A la hora de dar una cita, miramos la última que tenga el médico, es la max(fechahora) y miramos qué dias visita el médico, y su rango entre citas, y se la sumamos a la última que tenga, si ya no hay posible para ese día, miramos el siguiente día que visita el médico y le tocará la primera del próximo día...

Todo esto es más fácil hacerlo que explicarlo.

Todo esto es un ejemplo, puede ser muy diferente, según los requerimientos específicos, además siempre hay varias formas de encarar la situación.

Responder Con Cita