Gestione elenco Profili
Elenco Completo
getConnection(); $stmt = $pdo->query(" SELECT m.*, COALESCE(lg.linee_associate, '—') AS linee_associate, COALESCE(mg.mescole_associate, '') AS mescole_associate, COALESCE(mg.mescole_count, 0) AS mescole_count FROM matrice m LEFT JOIN ( SELECT ml.idmatrice, GROUP_CONCAT(pl.name ORDER BY pl.name SEPARATOR ', ') AS linee_associate FROM matrici_lines ml JOIN production_lines pl ON pl.id = ml.idlinea GROUP BY ml.idmatrice ) lg ON lg.idmatrice = m.id LEFT JOIN ( SELECT mm.idmatrice, GROUP_CONCAT(ms.nome ORDER BY ms.nome SEPARATOR ', ') AS mescole_associate, COUNT(*) AS mescole_count FROM matrici_mescole mm JOIN mescole ms ON ms.id = mm.idmescola GROUP BY mm.idmatrice ) mg ON mg.idmatrice = m.id ORDER BY m.id DESC "); function formatDateIT($d) { if (!$d || $d == '0000-00-00') return ''; return date("d/m/Y", strtotime($d)); } if ($stmt->rowCount() === 0) { echo ""; } else { while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { $dataIT = formatDateIT($row['data_produzione']); // gestione foto $foto = $row['photo'] ?? ''; $pathFoto = "photos/matrici/" . $foto; $placeholder = "assets/images/no-photo.png"; if ($foto && file_exists($pathFoto)) { $thumb = $pathFoto; $hasPhoto = true; } else { $thumb = $placeholder; $hasPhoto = false; } echo ""; // colonna FOTO // colonna FOTO (robusta: NP appare solo se l'immagine non si carica) $imgSrc = $hasPhoto ? $thumb : ''; // se non c'è foto, src vuoto → trigger onerror echo ""; // colonna NOME (con tooltip) echo ""; // colonna CLIENTE (con tooltip) echo ""; // colonna LINEE $lineeTxt = $row['linee_associate'] ?? '—'; $mescoleTxt = $row['mescole_associate'] ?? ''; $mescoleCount = (int)($row['mescole_count'] ?? 0); $btnMescole = ''; if ($mescoleCount > 0) { $btnMescole = " "; } echo ""; // colonna AZIONI echo ""; echo ""; } } ?>
Foto Nome Cliente Linee Azioni
Nessuna matrice presente
NP " . htmlspecialchars($row['nome']) . "" . htmlspecialchars($row['cliente']) . "" . htmlspecialchars($lineeTxt) . $btnMescole . "