zibo-dashboard/public/userarea/save_matrice_mescole.php
2026-01-27 09:57:47 +01:00

43 lines
1.3 KiB
PHP

<?php
include('include/headscript.php');
header('Content-Type: application/json; charset=utf-8');
try {
$idmatrice = (int)($_POST['idmatrice'] ?? 0);
$raw = $_POST['idmescole'] ?? '[]';
$idmescole = json_decode($raw, true);
if ($idmatrice <= 0) {
echo json_encode(['success' => false, 'message' => 'Invalid idmatrice']);
exit;
}
if (!is_array($idmescole)) $idmescole = [];
// normalizza a int e rimuovi duplicati
$idmescole = array_values(array_unique(array_filter(array_map('intval', $idmescole), fn($v) => $v > 0)));
$db = DBHandlerSelect::getInstance();
$pdo = $db->getConnection();
$pdo->beginTransaction();
// rimuovi vecchie associazioni
$stmt = $pdo->prepare("DELETE FROM matrici_mescole WHERE idmatrice = ?");
$stmt->execute([$idmatrice]);
// inserisci nuove
if (!empty($idmescole)) {
$stmt = $pdo->prepare("INSERT INTO matrici_mescole (idmatrice, idmescola) VALUES (?, ?)");
foreach ($idmescole as $idmescola) {
$stmt->execute([$idmatrice, $idmescola]);
}
}
$pdo->commit();
echo json_encode(['success' => true, 'message' => 'Associazioni aggiornate']);
} catch (Throwable $e) {
if (isset($pdo) && $pdo->inTransaction()) $pdo->rollBack();
echo json_encode(['success' => false, 'message' => 'Server error']);
}