Aggiornamento lato UTENTE
This commit is contained in:
+190
-145
@@ -1,175 +1,220 @@
|
||||
<?php
|
||||
require_once __DIR__ . "/../includes/auth.php";
|
||||
requireRole("cliente");
|
||||
require_once __DIR__ . "/../config/database.php";
|
||||
$idCliente = (int) $_SESSION["idUtente"];
|
||||
$azione = $_POST["azione"] ?? null;
|
||||
$idIndirizzo = filter_input(INPUT_POST, "idIndirizzo", FILTER_VALIDATE_INT);
|
||||
$via = trim($_POST["via"] ?? "");
|
||||
$numeroCivico = trim($_POST["numeroCivico"] ?? "");
|
||||
$idComune = filter_input(INPUT_POST, "idComune", FILTER_VALIDATE_INT);
|
||||
$indirizzi = [];
|
||||
$messaggio = null;
|
||||
$comuni = [];
|
||||
|
||||
$stmt = $pdo->prepare("
|
||||
SELECT
|
||||
comune.idComune,
|
||||
comune.nome AS nomeComune,
|
||||
provincia.nome AS nomeProvincia,
|
||||
provincia.sigla
|
||||
require_once __DIR__ . "/../includes/auth.php";
|
||||
requireRole("cliente");
|
||||
require_once __DIR__ . "/../config/database.php";
|
||||
$idCliente = (int) $_SESSION["idUtente"];
|
||||
$azione = $_POST["azione"] ?? null;
|
||||
$idIndirizzo = filter_input(INPUT_POST, "idIndirizzo", FILTER_VALIDATE_INT);
|
||||
$via = trim($_POST["via"] ?? "");
|
||||
$numeroCivico = trim($_POST["numeroCivico"] ?? "");
|
||||
$idComune = filter_input(INPUT_POST, "idComune", FILTER_VALIDATE_INT);
|
||||
$indirizzi = [];
|
||||
$messaggio = null;
|
||||
$comuni = [];
|
||||
|
||||
FROM comune JOIN provincia ON comune.idProvincia = provincia.idProvincia
|
||||
");
|
||||
$stmt->execute();
|
||||
$comuni = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
$stmt = $pdo->prepare("
|
||||
SELECT
|
||||
comune.idComune,
|
||||
comune.nome AS nomeComune,
|
||||
provincia.nome AS nomeProvincia,
|
||||
provincia.sigla
|
||||
|
||||
FROM comune JOIN provincia ON comune.idProvincia = provincia.idProvincia
|
||||
");
|
||||
$stmt->execute();
|
||||
$comuni = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
if (postMethod()) {
|
||||
|
||||
try {
|
||||
if (postMethod()) {
|
||||
|
||||
switch($azione) {
|
||||
case "predefinito": {
|
||||
if (!$idIndirizzo) {
|
||||
$messaggio = "Id indirizzo non valido";
|
||||
die("Id indirizzo non valido");
|
||||
}
|
||||
|
||||
$pdo->beginTransaction();
|
||||
|
||||
// Rimozione dei precedenti indirizzi predefiniti
|
||||
$stmt = $pdo->prepare("
|
||||
UPDATE indirizzo
|
||||
SET predefinito = 0
|
||||
WHERE idCliente = :idCliente
|
||||
");
|
||||
$stmt->execute([
|
||||
"idCliente" => $idCliente
|
||||
]);
|
||||
case "predefinito": { // OKOKFATTO
|
||||
|
||||
// Settando indirizzo corrente come predefinito
|
||||
$stmt = $pdo->prepare("
|
||||
UPDATE indirizzo
|
||||
SET predefinito = 1
|
||||
WHERE
|
||||
idCliente = :idCliente AND idIndirizzo = :idIndirizzo
|
||||
");
|
||||
$stmt->execute([
|
||||
"idCliente" => $idCliente,
|
||||
"idIndirizzo" => $idIndirizzo
|
||||
]);
|
||||
|
||||
$pdo->commit();
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case "inserisci": {
|
||||
if (
|
||||
$via === "" ||
|
||||
$numeroCivico === "" ||
|
||||
$idComune === ""
|
||||
) {
|
||||
$messaggio = "Compila i campi correttamente";
|
||||
die("Compila i campi correttamente");
|
||||
}
|
||||
|
||||
$stmt = $pdo->prepare("
|
||||
SELECT EXISTS (
|
||||
SELECT 1
|
||||
FROM indirizzo
|
||||
try {
|
||||
if (!$idIndirizzo) {
|
||||
$messaggio = "Id indirizzo non valido";
|
||||
die("Id indirizzo non valido");
|
||||
}
|
||||
|
||||
$pdo->beginTransaction();
|
||||
|
||||
// Rimozione dei precedenti indirizzi predefiniti
|
||||
$stmt = $pdo->prepare("
|
||||
UPDATE indirizzo
|
||||
SET predefinito = 0
|
||||
WHERE idCliente = :idCliente
|
||||
) AS esiste
|
||||
");
|
||||
$stmt->execute([
|
||||
"idCliente" => $idCliente
|
||||
]);
|
||||
$predefinito = $stmt->fetchColumn();
|
||||
if ($predefinito) {
|
||||
// Sono presenti record di indirizzi
|
||||
$predefinito = 0;
|
||||
} else {
|
||||
// Non sono presenti record di indirizzi
|
||||
$predefinito = 1;
|
||||
");
|
||||
$stmt->execute([
|
||||
"idCliente" => $idCliente
|
||||
]);
|
||||
|
||||
// Settando indirizzo corrente come predefinito
|
||||
$stmt = $pdo->prepare("
|
||||
UPDATE indirizzo
|
||||
SET predefinito = 1
|
||||
WHERE
|
||||
idCliente = :idCliente AND idIndirizzo = :idIndirizzo
|
||||
");
|
||||
$stmt->execute([
|
||||
"idCliente" => $idCliente,
|
||||
"idIndirizzo" => $idIndirizzo
|
||||
]);
|
||||
|
||||
$pdo->commit();
|
||||
|
||||
break;
|
||||
} catch (PDOException $e) {
|
||||
|
||||
if ($pdo -> inTransaction()) {
|
||||
$pdo->rollBack();
|
||||
}
|
||||
|
||||
$messaggio =
|
||||
"Errore durante l'aggiornamento dell'indirizzo" .
|
||||
$e->getMessage();
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
$pdo->beginTransaction();
|
||||
$stmt = $pdo->prepare("
|
||||
INSERT INTO indirizzo (via, numeroCivico, predefinito, idComune, idCliente)
|
||||
VALUES (:via, :numeroCivico, :predefinito, :idComune, :idCliente)
|
||||
");
|
||||
$stmt->execute([
|
||||
"via" => $via,
|
||||
"numeroCivico" => $numeroCivico,
|
||||
"predefinito" => $predefinito,
|
||||
"idComune" => $idComune,
|
||||
"idCliente" => $idCliente
|
||||
]);
|
||||
$pdo->commit();
|
||||
break;
|
||||
}
|
||||
|
||||
case "elimina": {
|
||||
if (!$idIndirizzo) {
|
||||
$messaggio = "Id indirizzo non valido";
|
||||
die("Id indirizzo non valido");
|
||||
case "inserisci": { // OKOKFATTO
|
||||
try {
|
||||
if (
|
||||
$via === "" ||
|
||||
$numeroCivico === "" ||
|
||||
$idComune === ""
|
||||
) {
|
||||
$messaggio = "Compila i campi correttamente";
|
||||
die("Compila i campi correttamente");
|
||||
}
|
||||
|
||||
/*
|
||||
Verifica della presenza di indirizzi
|
||||
già registrati a nome del cliente.
|
||||
|
||||
Questa operazione non richiede che
|
||||
sia inserita nella beginTransaction()
|
||||
*/
|
||||
$stmt = $pdo->prepare("
|
||||
SELECT EXISTS (
|
||||
SELECT 1
|
||||
FROM indirizzo
|
||||
WHERE idCliente = :idCliente
|
||||
) AS esiste
|
||||
");
|
||||
$stmt->execute([
|
||||
"idCliente" => $idCliente
|
||||
]);
|
||||
$predefinito = $stmt->fetchColumn();
|
||||
if ($predefinito) {
|
||||
// Sono presenti record di indirizzi
|
||||
$predefinito = 0;
|
||||
} else {
|
||||
// Non sono presenti record di indirizzi
|
||||
$predefinito = 1;
|
||||
}
|
||||
|
||||
/*
|
||||
Inizia la transazione,
|
||||
si inserisce nel database la via.
|
||||
*/
|
||||
$pdo->beginTransaction();
|
||||
$stmt = $pdo->prepare("
|
||||
INSERT INTO indirizzo (via, numeroCivico, predefinito, idComune, idCliente)
|
||||
VALUES (:via, :numeroCivico, :predefinito, :idComune, :idCliente)
|
||||
");
|
||||
$stmt->execute([
|
||||
"via" => $via,
|
||||
"numeroCivico" => $numeroCivico,
|
||||
"predefinito" => $predefinito,
|
||||
"idComune" => $idComune,
|
||||
"idCliente" => $idCliente
|
||||
]);
|
||||
|
||||
$pdo->commit();
|
||||
|
||||
$messaggio = "Indirizzo aggiunto con successo";
|
||||
|
||||
break;
|
||||
} catch (PDOException $e) {
|
||||
|
||||
if ($pdo -> inTransaction()) {
|
||||
$pdo->rollBack();
|
||||
}
|
||||
|
||||
$messaggio =
|
||||
"Errore durante l'inserimento dell'indirizzo" .
|
||||
$e->getMessage();
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
$pdo->beginTransaction();
|
||||
case "elimina": { // OKOKFATTO
|
||||
try {
|
||||
if (!$idIndirizzo) {
|
||||
$messaggio = "Id indirizzo non valido";
|
||||
die("Id indirizzo non valido");
|
||||
}
|
||||
|
||||
$stmt = $pdo->prepare("
|
||||
DELETE FROM indirizzo
|
||||
WHERE
|
||||
idIndirizzo = :idIndirizzo AND idCliente = :idCliente
|
||||
");
|
||||
$stmt->execute([
|
||||
"idIndirizzo" => $idIndirizzo,
|
||||
"idCliente" => $idCliente
|
||||
]);
|
||||
$pdo->commit();
|
||||
$pdo->beginTransaction();
|
||||
|
||||
$messaggio = "Indirizzo eliminato con successo";
|
||||
$stmt = $pdo->prepare("
|
||||
DELETE FROM indirizzo
|
||||
WHERE
|
||||
idIndirizzo = :idIndirizzo AND idCliente = :idCliente
|
||||
");
|
||||
$stmt->execute([
|
||||
"idIndirizzo" => $idIndirizzo,
|
||||
"idCliente" => $idCliente
|
||||
]);
|
||||
$pdo->commit();
|
||||
|
||||
break;
|
||||
$messaggio = "Indirizzo eliminato con successo";
|
||||
|
||||
break;
|
||||
} catch (PDOException $e) {
|
||||
|
||||
if ($pdo -> inTransaction()) {
|
||||
$pdo->rollBack();
|
||||
}
|
||||
|
||||
$messaggio =
|
||||
"Errore durante l'eliminazione dell'indirizzo" .
|
||||
$e->getMessage();
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
default:
|
||||
$messaggio = "Azione non valida";
|
||||
break;
|
||||
}
|
||||
|
||||
} catch (PDOException $e) {
|
||||
if ($pdo->inTransaction()) {
|
||||
$pdo->rollBack();
|
||||
}
|
||||
die(
|
||||
"Errore durante l'aggiunta dell'indirizzo di consegna: "
|
||||
. $e->getMessage()
|
||||
);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
$stmt = $pdo->prepare("
|
||||
SELECT
|
||||
indirizzo.idIndirizzo,
|
||||
indirizzo.via,
|
||||
indirizzo.numeroCivico,
|
||||
indirizzo.predefinito,
|
||||
comune.nome AS nomeComune,
|
||||
provincia.sigla AS siglaProvincia
|
||||
$stmt = $pdo->prepare("
|
||||
SELECT
|
||||
indirizzo.idIndirizzo,
|
||||
indirizzo.via,
|
||||
indirizzo.numeroCivico,
|
||||
indirizzo.predefinito,
|
||||
comune.nome AS nomeComune,
|
||||
provincia.sigla AS siglaProvincia
|
||||
|
||||
FROM (indirizzo JOIN comune ON indirizzo.idComune = comune.idComune)
|
||||
JOIN provincia ON comune.idProvincia = provincia.idProvincia
|
||||
FROM (indirizzo JOIN comune ON indirizzo.idComune = comune.idComune)
|
||||
JOIN provincia ON comune.idProvincia = provincia.idProvincia
|
||||
|
||||
WHERE idCliente = :idCliente
|
||||
");
|
||||
$stmt->execute([
|
||||
"idCliente" => $idCliente
|
||||
]);
|
||||
$indirizzi = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
WHERE idCliente = :idCliente
|
||||
");
|
||||
$stmt->execute([
|
||||
"idCliente" => $idCliente
|
||||
]);
|
||||
$indirizzi = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
$pageTitle = "Indirizzi"; $basePath = "..";
|
||||
require __DIR__ . "/../includes/header.php";
|
||||
$pageTitle = "Indirizzi"; $basePath = "..";
|
||||
require __DIR__ . "/../includes/header.php";
|
||||
?>
|
||||
<h1 class="h3">Indirizzi di consegna</h1>
|
||||
<?php if ($messaggio): ?><div class="alert alert-warning"><?= e($messaggio) ?></div><?php endif; ?>
|
||||
|
||||
+38
-29
@@ -1,30 +1,33 @@
|
||||
<?php
|
||||
require_once __DIR__ . "/../includes/auth.php";
|
||||
requireRole("cliente");
|
||||
require_once __DIR__ . "/../config/database.php";
|
||||
require_once __DIR__ . "/../includes/auth.php";
|
||||
requireRole("cliente");
|
||||
require_once __DIR__ . "/../config/database.php";
|
||||
|
||||
$idCliente = (int) $_SESSION["idUtente"];
|
||||
$prodotti = [];
|
||||
$idCliente = (int) $_SESSION["idUtente"];
|
||||
$prodotti = [];
|
||||
|
||||
$stmt = $pdo->prepare("
|
||||
SELECT
|
||||
prodotto.idProdotto,
|
||||
prodotto.nome,
|
||||
prodotto.descrizione,
|
||||
prodotto.prezzoBase,
|
||||
caratteristica.nome AS nomeCaratteristica,
|
||||
caratteristica.differenzaPrezzo
|
||||
$stmt = $pdo->prepare("
|
||||
SELECT
|
||||
prodotto.idProdotto,
|
||||
prodotto.nome,
|
||||
prodotto.descrizione,
|
||||
prodotto.prezzoBase,
|
||||
caratteristica.nome AS nomeCaratteristica,
|
||||
caratteristica.differenzaPrezzo
|
||||
|
||||
FROM prodotto JOIN caratteristica ON prodotto.idProdotto = caratteristica.idProdotto
|
||||
");
|
||||
$stmt->execute();
|
||||
$prodotti = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
FROM prodotto JOIN caratteristica ON prodotto.idProdotto = caratteristica.idProdotto
|
||||
");
|
||||
$stmt->execute();
|
||||
$prodotti = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
$pageTitle = "Menu"; $basePath = "..";
|
||||
require __DIR__ . "/../includes/header.php";
|
||||
$pageTitle = "Menu"; $basePath = "..";
|
||||
require __DIR__ . "/../includes/header.php";
|
||||
?>
|
||||
<div class="d-flex justify-content-between align-items-center mb-3">
|
||||
<div><h1 class="h3 mb-1">Menu</h1><p class="text-muted mb-0">Prodotti disponibili e personalizzazioni.</p></div>
|
||||
<div>
|
||||
<h1 class="h3 mb-1">Menu</h1>
|
||||
<p class="text-muted mb-0">Prodotti disponibili e personalizzazioni.</p>
|
||||
</div>
|
||||
<a class="btn btn-primary" href="ordine.php">Componi ordine</a>
|
||||
</div>
|
||||
<?php if (!$prodotti): ?>
|
||||
@@ -32,15 +35,21 @@ require __DIR__ . "/../includes/header.php";
|
||||
<?php endif; ?>
|
||||
<div class="row g-3">
|
||||
<?php foreach ($prodotti as $prodotto): ?>
|
||||
<div class="col-md-6"><div class="card h-100 shadow-sm"><div class="card-body">
|
||||
<h2 class="h5"><?= e($prodotto["nome"] ?? "") ?></h2>
|
||||
<p><?= e($prodotto["descrizione"] ?? "") ?></p>
|
||||
<span class="badge bg-primary">€ <?= e(number_format((float) ($prodotto["prezzoBase"] ?? 0), 2, ",", ".")) ?></span>
|
||||
<?php if (!empty($prodotto["nomeCaratteristica"])): ?>
|
||||
<hr><strong>Caratteristica:</strong> <?= e($prodotto["nomeCaratteristica"]) ?>
|
||||
(+ € <?= e($prodotto["differenzaPrezzo"] ?? 0) ?>)
|
||||
<?php endif; ?>
|
||||
</div></div></div>
|
||||
<div class="col-md-6">
|
||||
<div class="card h-100 shadow-sm">
|
||||
<div class="card-body">
|
||||
<h2 class="h5"><?= e($prodotto["nome"] ?? "") ?></h2>
|
||||
<p><?= e($prodotto["descrizione"] ?? "") ?></p>
|
||||
<span class="badge bg-primary">€ <?= e(number_format((float) ($prodotto["prezzoBase"] ?? 0), 2, ",", ".")) ?></span>
|
||||
<?php if (!empty($prodotto["nomeCaratteristica"])): ?>
|
||||
<hr>
|
||||
<strong>Caratteristica:</strong>
|
||||
<?= e($prodotto["nomeCaratteristica"]) ?>
|
||||
(+ € <?= e($prodotto["differenzaPrezzo"] ?? 0) ?>)
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
<?php require __DIR__ . "/../includes/footer.php"; ?>
|
||||
|
||||
@@ -47,9 +47,6 @@
|
||||
]);
|
||||
|
||||
$ordini = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
/* TODO SQL DI SUPPORTO - Elenco e stato degli ordini del cliente.
|
||||
* Input: $idCliente. Output: idOrdine, dataOraCreazione, statoConferma,
|
||||
* orarioConsegna, totale, tempoStimatoConsegna, nomeStato. */
|
||||
$pageTitle = "I miei ordini"; $basePath = "..";
|
||||
require __DIR__ . "/../includes/header.php";
|
||||
?>
|
||||
|
||||
+54
-1
@@ -26,6 +26,7 @@
|
||||
$prodotti = []; // CARICATO
|
||||
$caratteristicheDisponibili = []; // CARICATO
|
||||
$indirizzi = []; // CARICATO
|
||||
$indirizzoPredefinito = null; // CARICATO
|
||||
$righeOrdine = []; // CARICATO
|
||||
|
||||
$riepilogo = null; // CARICATO
|
||||
@@ -51,6 +52,29 @@
|
||||
|
||||
$indirizzi = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
$stmt = $pdo->prepare("
|
||||
SELECT
|
||||
indirizzo.idIndirizzo,
|
||||
indirizzo.via,
|
||||
indirizzo.numeroCivico,
|
||||
indirizzo.predefinito,
|
||||
indirizzo.idComune
|
||||
|
||||
FROM
|
||||
indirizzo
|
||||
|
||||
WHERE
|
||||
indirizzo.idCliente = :idCliente
|
||||
AND indirizzo.predefinito = 1
|
||||
|
||||
LIMIT 1
|
||||
");
|
||||
|
||||
$stmt->execute([
|
||||
"idCliente" => $idCliente
|
||||
]);
|
||||
|
||||
$indirizzoPredefinito = $stmt->fetch(PDO::FETCH_ASSOC);
|
||||
|
||||
/* ============================================================
|
||||
* EVENTUALE ORDINE IN BOZZA
|
||||
@@ -834,7 +858,36 @@
|
||||
name="idIndirizzo"
|
||||
required
|
||||
>
|
||||
<option value="">Seleziona...</option>
|
||||
<?php if ($indirizzoPredefinito === null): ?>
|
||||
<option value="">Seleziona...</option>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if ($indirizzoPredefinito !== null): ?>
|
||||
<option
|
||||
value="<?= e($indirizzoPredefinito["idIndirizzo"]) ?>"
|
||||
select
|
||||
>
|
||||
<?= e($indirizzoPredefinito["via"] . " " . $indirizzoPredefinito["numeroCivico"]) ?>
|
||||
<?= !empty($indirizzoPredefinito["predefinito"]) ? "(predefinito)" : "" ?>
|
||||
</option>
|
||||
<?php endif; ?>
|
||||
|
||||
// Rimuovo l'indirizzo dagli indirizzi
|
||||
<?php
|
||||
if (
|
||||
is_array($indirizzoPredefinito) &&
|
||||
isset($indirizzoPredefinito["idIndirizzo"]) &&
|
||||
isset($indirizzoPredefinito["via"]) &&
|
||||
isset($indirizzoPredefinito["numeroCivico"])
|
||||
) {
|
||||
foreach ($indirizzi as $key => $i) {
|
||||
if ($i["idIndirizzo"] == $indirizzoPredefinito["idIndirizzo"]) {
|
||||
unset($indirizzi[$key]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
<?php foreach ($indirizzi as $i): ?>
|
||||
<option value="<?= e($i["idIndirizzo"]) ?>">
|
||||
|
||||
+33
-16
@@ -1,20 +1,37 @@
|
||||
<?php
|
||||
require_once __DIR__ . "/../includes/auth.php";
|
||||
requireRole("personale");
|
||||
require_once __DIR__ . "/../config/database.php";
|
||||
$idPersonale = (int) $_SESSION["idUtente"];
|
||||
$conteggi = [];
|
||||
/*
|
||||
* QUERY 11 - Conteggio degli ordini attivi divisi per stato di avanzamento
|
||||
* Input: nessuno (l'id $idPersonale è disponibile per il contesto UI)
|
||||
* Output atteso: idStatoOrdine, nomeStato, posizione, numeroOrdini
|
||||
* TODO SQL: implementare manualmente la Query 11.
|
||||
*/
|
||||
$pageTitle = "Dashboard personale"; $basePath = "..";
|
||||
require __DIR__ . "/../includes/header.php";
|
||||
require_once __DIR__ . "/../includes/auth.php";
|
||||
requireRole("personale");
|
||||
require_once __DIR__ . "/../config/database.php";
|
||||
$idPersonale = (int) $_SESSION["idUtente"];
|
||||
$conteggi = [];
|
||||
/*
|
||||
* QUERY 11 - Conteggio degli ordini attivi divisi per stato di avanzamento
|
||||
* Input: nessuno (l'id $idPersonale è disponibile per il contesto UI)
|
||||
* Output atteso: idStatoOrdine, nomeStato, posizione, numeroOrdini
|
||||
* TODO SQL: implementare manualmente la Query 11.
|
||||
*/
|
||||
$pageTitle = "Dashboard personale"; $basePath = "..";
|
||||
require __DIR__ . "/../includes/header.php";
|
||||
?>
|
||||
<h1 class="h3">Dashboard personale</h1><p>Panoramica degli ordini attivi.</p>
|
||||
<?php if (!$conteggi): ?><div class="alert alert-info">I conteggi saranno mostrati dopo l'implementazione della Query 11.</div><?php endif; ?>
|
||||
<div class="row g-3 mb-4"><?php foreach ($conteggi as $c): ?><div class="col-sm-6 col-lg"><div class="card text-center h-100 shadow-sm"><div class="card-body"><div class="display-6"><?= e($c["numeroOrdini"]) ?></div><div><?= e($c["nomeStato"]) ?></div></div></div></div><?php endforeach; ?></div>
|
||||
<h1 class="h3">Dashboard personale</h1>
|
||||
<p>Panoramica degli ordini attivi.</p>
|
||||
<?php if (!$conteggi): ?>
|
||||
<div class="alert alert-info">I conteggi saranno mostrati dopo l'implementazione della Query 11.</div>
|
||||
<?php endif; ?>
|
||||
<div class="row g-3 mb-4">
|
||||
<?php foreach ($conteggi as $c): ?>
|
||||
<div class="col-sm-6 col-lg">
|
||||
<div class="card text-center h-100 shadow-sm">
|
||||
<div class="card-body">
|
||||
<div class="display-6">
|
||||
<?= e($c["numeroOrdini"]) ?>
|
||||
</div>
|
||||
<div><?= e($c["nomeStato"]) ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endforeach; ?></div>
|
||||
|
||||
<a class="btn btn-primary" href="ordini.php">Apri gli ordini correnti</a>
|
||||
<?php require __DIR__ . "/../includes/footer.php"; ?>
|
||||
|
||||
+3
-1
@@ -1,2 +1,4 @@
|
||||
[+] Preferiti: Il cliente può avere dei prodotti preferiti
|
||||
[+] Immagini
|
||||
[+] Immagini
|
||||
|
||||
[+] OKOKFATTO,CARICATO keywords da eliminare
|
||||
Reference in New Issue
Block a user