Ver Mensaje Individual
  #6 (permalink)  
Antiguo 10/01/2013, 05:22
davezorn00
 
Fecha de Ingreso: enero-2013
Mensajes: 7
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Relacionar clientes con fecha de reserva

En ese caso tengo un problema, puesto que en la aplicación web, el primer paso es elegir el servicio (Asistencia, Consultas o Cursos). Al elegir el servicio, cada uno de ellos deriva a una subestructura de carpetas dónde dependiendo de la selección, las urls serán: citaprevia/asistencia/... | citaprevia/consultas | citaprevia/cursos. El segundo paso es elegir un dia y una hora (tabla reservas). Una vez seleccionado, pasa a la siguiente pagina, dónde se encuentra el formulario a rellenar con los datos (tabla clientes). Finalmente pasa a una ultima pagina dónde se muestran todos los datos (fecha, datos) y dónde se muestra el nombre del servicio dependiendo de la url (citaprevia/asistencia/..., citaprevia/consultas/... o citaprevia/cursos/...) y se inserta en la tabla servicios de la BD.

He pensado que en lugar de establecer la relación mediante las claves primarias de servicios (idServicio) y clientes (idCliente), si la relación se hace añadiendo los campos idReserva en ambas tablas (servicios y clientes) y enlazándolo a la tabla reservas, si me dejaría ingresar primero la reserva y luego los clientes y servicios.

Quedando asi entonces la estructura:

reservas
idReserva
dia
hora


clientes
idCliente
nombre
apellidos
email
telefono
idReserva

servicios
idServicio
servicio
idReserva


Y estableciendo estas relaciones:

Código MySQL:
Ver original
  1. ALTER TABLE  `servicios` ADD FOREIGN KEY (  `idReserva` ) REFERENCES  `citapreviatest`.`reservas` (
  2. `idReserva`
  3. ALTER TABLE  `clientes` ADD FOREIGN KEY (  `idReserva` ) REFERENCES  `citapreviatest`.`reservas` (
  4. `idReserva`


Aun así tengo el problema de que al ingresar una fecha y al pasar el siguiente paso de la aplicación (inserción de datos del cliente) como lo hago para que sepa que esa reserva (fecha) corresponde al cliente que acaba de ingresar los datos?
Seria viable insertar la misma id de idReserva de la tabla reservas en idReserva de la tabla clientes y en la tabla servicios a la misma vez con un insert múltiple? De ser posible cual seria la consulta?

Espero haberme explicado y muchísimas gracias por vuestra paciencia y tiempo.