Traccia dell'esame di stato 2018
che chiede di realizzare
il sistema informativo e l'infrastruttura per automatizzare un'azienda di logistica e trasporti.
Questa è la mia soluzione in formato pdf.
Vi consiglio di leggere anche la completa soluzione proposta dal Prof. Mauro De Berardis.
Cliccate qui per visitare il suo sito e al link "Soluzioni prove esami" trovete sia la soluzione dell'esame che delle simulazioni.
Download PDF
Il sorgente PHP per la risoluzione del quesito uno della seconda parte.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | <html> <head> <title>Esempio traccia 2018</title> </head> <body> <? $spedizione=$_POST['spedizione']; $conn = new mysqli("localhost","root","", "fast_delivery"); if ($conn->connect_error) { die("Connessione fallita con errore: " . $conn->connect_error); } $query = "SELECT sedi.codice as cod,sedi.nome as nome, data_orario FROM transiti, sedi WHERE transiti.cod_spedizione= '".$spedizione."' and sedi.codice=transiti.cod_sede"; $result = $conn->query($query); $i = 0; if ($result->num_rows > 0) { echo "<table border=\"1\">"; echo "<tr><td bgcolor=\"#FFFFFF\">Codice Sede</td><td bgcolor=\"#FFFFFF\">Città</td>"; echo "<td bgcolor=\"#FFFFFF\">Ora</td></tr>"; while($row = $result->fetch_assoc()) { if($i % 2 == 0){ echo "<tr><td bgcolor=\"#BBBBBB\"> ".$row['cod']; echo "</td><td bgcolor=\"#BBBBBB\"> ".$row['nome']; echo "</td><td bgcolor=\"#BBBBBB\"> ".$row['data_orario']."</td></tr>"; } else{ echo "<tr><td bgcolor=\"#DDDDDD\"> ".$row['cod']; echo "</td><td bgcolor=\"#DDDDDD\"> ".$row['nome']; echo "</td><td bgcolor=\"#DDDDDD\"> ".$row['data_orario']."</td></tr>"; } $i++; } } else { echo "0 results"; } echo "</table>"; $conn->close(); ?> </body> </html> |
Il codice SQL per la creazione del database.
CREATE DATABASE IF NOT EXISTS `fast_delivery5` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; USE `fast_delivery5`; -- Table structure for table `comuni` CREATE TABLE `comuni` ( `codice` varchar(6) NOT NULL, `nome` varchar(40) NOT NULL, `provincia` varchar(2) NOT NULL, `regione` varchar(20) NOT NULL, `ripartizione` set('Nord-Est','Nord-Ovest','Sud','Centro','Isole') NOT NULL, PRIMARY KEY (codice) ) ; -- Table structure for table `clienti` CREATE TABLE `clienti` ( `codice` int(11) NOT NULL, `nome` varchar(128) DEFAULT NULL, `cognome` varchar(128) DEFAULT NULL, `ragione_sociale` varchar(128) DEFAULT NULL, `indirizzo` varchar(128) NOT NULL, `cap` varchar(5) NOT NULL, `cod_comune` varchar(6) NOT NULL, `mail` varchar(40) NOT NULL, `password` varchar(16) NOT NULL, PRIMARY KEY (codice), FOREIGN KEY (cod_comune) REFERENCES comuni(codice) ) ; -- Table structure for table `sedi` CREATE TABLE `sedi` ( `codice` int(11) NOT NULL, `nome` varchar(64) NOT NULL, `indirizzo` varchar(128) NOT NULL, `tipo` enum('SO','CSR') NOT NULL, `cod_comune` varchar(6) NOT NULL, PRIMARY KEY (codice), FOREIGN KEY (cod_comune) REFERENCES comuni(codice) ); -- Table structure for table `spedizioni` CREATE TABLE `spedizioni` ( `codice` int(11) NOT NULL, `peso` int(4) NOT NULL, `data_invio` date NOT NULL, `data_consegna` date DEFAULT NULL, `stato` enum('richiesta','presa in carico','in transito','in consegna','mancata consegna','consegnato') NOT NULL, `cod_mittente` int(11) NOT NULL, `cod_destinatario` int(11) NOT NULL, PRIMARY KEY (codice), FOREIGN KEY (cod_mittente) REFERENCES clienti(codice), FOREIGN KEY (cod_destinatario) REFERENCES clienti(codice) ) ; -- Table structure for table `transiti` CREATE TABLE `transiti` ( `cod_spedizione` int(11) NOT NULL, `cod_sede` int(11) NOT NULL, `data_orario` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (cod_spedizione) REFERENCES spedizioni(codice), FOREIGN KEY (cod_sede) REFERENCES sedi(codice) ) ;