changed assegna proprietario

This commit is contained in:
2025-02-25 15:52:05 +01:00
parent a08f3f5e8c
commit 764f95ce34
7 changed files with 591 additions and 62 deletions
+26 -13
View File
@@ -9,7 +9,7 @@ include('include/headscript.php');
$conn = new mysqli($servername, $username, $password, $database);
if ($conn->connect_error) {
die("Errore di connessione: " . $conn->connect_error);
die(json_encode(["success" => false, "message" => "Errore di connessione: " . $conn->connect_error]));
}
// Recupera i dati inviati tramite POST
@@ -18,19 +18,33 @@ $owner_id = isset($_POST['owner_id']) ? intval($_POST['owner_id']) : 0;
$ownership_percentage = isset($_POST['ownership_percentage']) ? floatval($_POST['ownership_percentage']) : null;
$notes = isset($_POST['notes']) ? $conn->real_escape_string($_POST['notes']) : null;
// Verifica che tutti i dati necessari siano presenti
if ($idhome <= 0 || $owner_id <= 0) {
die("Errore: Dati mancanti.");
// Verifica che tutti i dati siano presenti
if ($idhome <= 0 || $owner_id <= 0 || is_null($ownership_percentage)) {
die(json_encode(["success" => false, "message" => "Errore: Dati mancanti."]));
}
// Controlla se il proprietario è già associato a questa casa
$queryCheck = $conn->prepare("SELECT * FROM home_owners WHERE home_id = ? AND owner_id = ?");
// Controlla se il proprietario è già associato alla casa
$queryCheck = $conn->prepare("SELECT 1 FROM home_owners WHERE home_id = ? AND owner_id = ?");
$queryCheck->bind_param('ii', $idhome, $owner_id);
$queryCheck->execute();
$resultCheck = $queryCheck->get_result();
if ($resultCheck->num_rows > 0) {
die("Errore: Il proprietario è già associato a questa casa.");
die(json_encode(["success" => false, "message" => "Errore: Il proprietario è già associato a questa casa."]));
}
// Calcola la somma attuale delle percentuali di proprietà
$queryTotal = $conn->prepare("SELECT SUM(ownership_percentage) FROM home_owners WHERE home_id = ?");
$queryTotal->bind_param('i', $idhome);
$queryTotal->execute();
$queryTotal->bind_result($currentTotal);
$queryTotal->fetch();
$queryTotal->close();
$totalAfterInsert = $currentTotal + $ownership_percentage;
if ($totalAfterInsert > 100) {
die(json_encode(["success" => false, "message" => "Errore: La somma totale dei proprietari supererebbe il 100%."]));
}
// Inserisce il nuovo proprietario nella tabella home_owners
@@ -38,19 +52,18 @@ $queryInsert = $conn->prepare("
INSERT INTO home_owners (home_id, owner_id, ownership_percentage, notes, created_at, updated_at)
VALUES (?, ?, ?, ?, NOW(), NOW())
");
if ($queryInsert === false) {
die("Errore nella preparazione della query: " . $conn->error);
die(json_encode(["success" => false, "message" => "Errore nella preparazione della query: " . $conn->error]));
}
$queryInsert->bind_param('iids', $idhome, $owner_id, $ownership_percentage, $notes);
if ($queryInsert->execute()) {
// Reindirizza alla pagina di gestione dell'immobile
header("Location: assign-owners.php?idhome=$idhome&success=1");
exit;
echo json_encode(["success" => true, "message" => "Proprietario aggiunto con successo."]);
} else {
die("Errore nell'inserimento: " . $queryInsert->error);
die(json_encode(["success" => false, "message" => "Errore nell'inserimento: " . $queryInsert->error]));
}
// Chiude la connessione
$queryInsert->close();
$conn->close();