prepare(" SELECT o1.idOrdine, CONCAT(u1.nome, ' ', u1.cognome) AS cliente, o1.dataOraCreazione, o1.statoConferma, uso1.nomeStato, o1.orarioConsegna, o1.totale FROM ordine AS o1 LEFT JOIN ultimoStatoOrdini AS uso1 ON o1.idOrdine = uso1.idOrdine LEFT JOIN cliente AS c1 ON o1.idCliente = c1.idUtente LEFT JOIN utente AS u1 ON c1.idUtente = u1.idUtente WHERE 1 "); $stmt->execute(); $ordini = $stmt->fetchAll(PDO::FETCH_ASSOC); /* TODO SQL DI SUPPORTO - Monitorare ordini passati, attivi ed evasi. * Input: $stato. Output: idOrdine, cliente, dataOraCreazione, statoConferma, * nomeStato, orarioConsegna, totale, indirizzo. */ if($idOrdine){ /* * QUERY 13 - Membri del personale che hanno lavorato a un ordine * Input: $idOrdine * Output atteso: idUtente, nome, cognome, email, numeroCambiStato, * primoIntervento, ultimoIntervento * TODO SQL: implementare manualmente la Query 13. */ // Membri del personale che hanno lavorato a un ordine $stmt = $pdo->prepare(" SELECT u1.idUtente, u1.nome, u1.cognome, u1.email, COUNT(ss1.idStoricoStato) AS numeroCambiStato, MIN(ss1.timestamp) AS primoIntervento, MAX(ss1.timestamp) AS ultimoIntervento FROM storicoStato AS ss1 JOIN personale AS p1 ON ss1.idPersonale = p1.idUtente JOIN utente AS u1 ON p1.idUtente = u1.idUtente WHERE ss1.idOrdine = :idOrdine GROUP BY u1.idUtente, u1.nome, u1.cognome, u1.email ORDER BY primoIntervento "); $stmt->execute([ "idOrdine" => $idOrdine ]); $personaleOrdine = $stmt->fetchAll(PDO::FETCH_ASSOC); } $pageTitle="Monitoraggio ordini";$basePath="..";require __DIR__."/../includes/header.php"; ?>
| ID | Cliente | Creazione | Conferma | Stato | Consegna | Totale |
|---|---|---|---|---|---|---|
| =e($o["idOrdine"])?> | =e($o["cliente"])?> | =e($o["dataOraCreazione"])?> | =e($o["statoConferma"])?> | =e($o["nomeStato"]??"—")?> | =e($o["orarioConsegna"])?> | € =e($o["totale"])?> |
Risultati disponibili dopo la Query 13.
| Nome | Cambi stato | Primo | Ultimo | |
|---|---|---|---|---|
| =e($p["nome"]." ".$p["cognome"])?> | =e($p["email"])?> | =e($p["numeroCambiStato"])?> | =e($p["primoIntervento"])?> | =e($p["ultimoIntervento"])?> |