form PHP prenotazione tramite query

  • Creatore Discussione Creatore Discussione alexcv
  • Data di inizio Data di inizio

alexcv

Nuovo Utente
16 Mag 2021
2
0
1
ciao ho bisogno di svolgere un esercizio che mi chiede :"La ASL Benevento vuole mettere a disposizione dei propri assistiti un servizio di prenotazione delle visite presso lo studio del medico di base, tramite un’applicazione web."
mi serve un form che prenda i dati del paziente tramite query dal database che mi permettano di fare una prenotazione allo studio medico,
queste sono le mie tabelle se qualcuno mi può aiutare glie ne sarò grato.
PHP:
CODE:

CREATE TABLE `ASL` ( `id_asl` int NOT NULL AUTO_INCREMENT, `nome` varchar(40) NOT NULL, `regione` varchar(40) NOT NULL, `email` varchar(80) NOT NULL, `telefono` bigint NOT NULL, PRIMARY KEY (`id_asl`) );


CREATE TABLE `StudioMedico` ( `id_studiomedico` int NOT NULL AUTO_INCREMENT, `nome` varchar(40) NOT NULL, `indirizzo` varchar(100) NOT NULL, `telefono` bigint NOT NULL, `email` varchar(80) NOT NULL, `id_asl` int NOT NULL, PRIMARY KEY (`id_studiomedico`) );


CREATE TABLE `Prenotazione` ( `id_prenotazione` int NOT NULL AUTO_INCREMENT, `data_prenotazione` DATE NOT NULL, `effettuata` BOOLEAN NOT NULL, `id_assistito` int NOT NULL, `id_visita` int NOT NULL, PRIMARY KEY (`id_prenotazione`) );


CREATE TABLE `Assistito` ( `id_assistito` int NOT NULL AUTO_INCREMENT, `nome` varchar(50) NOT NULL, `cognome` varchar(50) NOT NULL, `genere` varchar(50) NOT NULL, `data_nascita` DATE NOT NULL, `codice_fiscale` int NOT NULL, `id_medico` int NOT NULL, PRIMARY KEY (`id_assistito`) );


CREATE TABLE `Medico` ( `id_medico` int NOT NULL AUTO_INCREMENT, `nome` varchar(50) NOT NULL, `cognome` varchar(50) NOT NULL, `specializzazione` varchar(50) NOT NULL, `disponibilità` BOOLEAN NOT NULL, `telefono` bigint NOT NULL, `email` varchar(80) NOT NULL, `id_studiomedico` int NOT NULL, PRIMARY KEY (`id_medico`) );


CREATE TABLE `Farmacia` ( `id_farmacia` int NOT NULL AUTO_INCREMENT, `nome` varchar(40) NOT NULL, `indirizzo` varchar(100) NOT NULL, `città` varchar(40) NOT NULL, `telefono` bigint NOT NULL, PRIMARY KEY (`id_farmacia`) );


CREATE TABLE `Farmaco` ( `id_farmaco` int NOT NULL AUTO_INCREMENT, `nome` varchar(40) NOT NULL, `quantità` int NOT NULL, `prezzo` int NOT NULL, `id_assistito` int NOT NULL, `id_farmacia` int NOT NULL, PRIMARY KEY (`id_farmaco`) );


CREATE TABLE `users` ( `id_user` int NOT NULL AUTO_INCREMENT, `username` varchar(50) NOT NULL UNIQUE, `password` varchar(255) NOT NULL, `created_at` DATETIME NOT NULL, PRIMARY KEY (`id_user`) );


CREATE TABLE `Visita` ( `id_visita` int NOT NULL AUTO_INCREMENT, `giorno` varchar(50) NOT NULL, `ora` varchar(50) NOT NULL, `orario_libero` varchar(50) NOT NULL, `id_prestazione` int NOT NULL, PRIMARY KEY (`id_visita`) );


CREATE TABLE `Prestazione` ( `id_prestazione` int NOT NULL AUTO_INCREMENT, `tipo` varchar(120) NOT NULL, `prezzo` int NOT NULL, PRIMARY KEY (`id_prestazione`) );


ALTER TABLE `StudioMedico` ADD CONSTRAINT `StudioMedico_fk0` FOREIGN KEY (`id_asl`) REFERENCES `ASL`(`id_asl`);

ALTER TABLE `Prenotazione` ADD CONSTRAINT `Prenotazione_fk0` FOREIGN KEY (`id_assistito`) REFERENCES `Assistito`(`id_assistito`);

ALTER TABLE `Prenotazione` ADD CONSTRAINT `Prenotazione_fk1` FOREIGN KEY (`id_visita`) REFERENCES `Visita`(`id_visita`);

ALTER TABLE `Assistito` ADD CONSTRAINT `Assistito_fk0` FOREIGN KEY (`id_medico`) REFERENCES `Medico`(`id_medico`);

ALTER TABLE `Medico` ADD CONSTRAINT `Medico_fk0` FOREIGN KEY (`id_studiomedico`) REFERENCES `StudioMedico`(`id_studiomedico`);

ALTER TABLE `Farmaco` ADD CONSTRAINT `Farmaco_fk0` FOREIGN KEY (`id_assistito`) REFERENCES `Assistito`(`id_assistito`);

ALTER TABLE `Farmaco` ADD CONSTRAINT `Farmaco_fk1` FOREIGN KEY (`id_farmacia`) REFERENCES `Farmacia`(`id_farmacia`);

ALTER TABLE `users` ADD CONSTRAINT `users_fk0` FOREIGN KEY (`id_user`) REFERENCES `Assistito`(`id_assistito`);

ALTER TABLE `Visita` ADD CONSTRAINT `Visita_fk0` FOREIGN KEY (`id_prestazione`) REFERENCES `Prestazione`(`id_prestazione`);
 
Ultima modifica di un moderatore:
Gai tornato a inserire il codice senza il suo tag! Allora non ci capiamo!
Per questa volta te lo correggo io per il futuro mi raccomando
 
la prenotazione dovrebbe essere fatta per il medico, non per lo studio medico,
perché lo studio medico potrebbe servire più medici in condivisione

manca il calendario della disponibilità dl ciascun medico (agenda)
come può essere prenotata una disponibilità se non ne ho traccia ?

da quanto detto sopra, suggerirei di procedere con i seguenti passi,
l'assistito viene riconosciuto dal sistema,
viene associato al suo medico di base,
del quale si esamina la disponibilità (agenda)
offrendo un elenco di scelte disponibili

effettuata la scelta si richiede la motivazione (prestazione)
e dopo conferma,
si registra la visita e si impegna la disponibilità per il giorno/ora scelta


se persegui un'altra via, per favore descrivila
 

Discussioni simili