update document page
This commit is contained in:
@@ -3,20 +3,15 @@ ini_set('display_errors', 1);
|
||||
ini_set('display_startup_errors', 1);
|
||||
error_reporting(E_ALL);
|
||||
|
||||
include('include/headscript.php');
|
||||
|
||||
// Connessione al database
|
||||
$conn = new mysqli($servername, $username, $password, $database);
|
||||
|
||||
if ($conn->connect_error) {
|
||||
die(json_encode(["success" => false, "message" => "Errore di connessione: " . $conn->connect_error]));
|
||||
}
|
||||
require_once __DIR__ . '/class/db-functions.php';
|
||||
$dbHandler = DBHandlerSelect::getInstance();
|
||||
$pdo = $dbHandler->getConnection();
|
||||
|
||||
// Recupera i dati inviati tramite POST
|
||||
$idhome = isset($_POST['idhome']) ? intval($_POST['idhome']) : 0;
|
||||
$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;
|
||||
$idhome = isset($_POST['idhome']) ? (int)$_POST['idhome'] : 0;
|
||||
$owner_id = isset($_POST['owner_id']) ? (int)$_POST['owner_id'] : 0;
|
||||
$ownership_percentage = isset($_POST['ownership_percentage']) ? (float)$_POST['ownership_percentage'] : null;
|
||||
$notes = isset($_POST['notes']) ? htmlspecialchars($_POST['notes']) : null;
|
||||
|
||||
// Verifica che tutti i dati siano presenti
|
||||
if ($idhome <= 0 || $owner_id <= 0 || is_null($ownership_percentage)) {
|
||||
@@ -24,46 +19,30 @@ if ($idhome <= 0 || $owner_id <= 0 || is_null($ownership_percentage)) {
|
||||
}
|
||||
|
||||
// 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) {
|
||||
$stmt = $pdo->prepare("SELECT 1 FROM home_owners WHERE home_id = ? AND owner_id = ?");
|
||||
$stmt->execute([$idhome, $owner_id]);
|
||||
if ($stmt->fetch()) {
|
||||
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();
|
||||
$stmt = $pdo->prepare("SELECT SUM(ownership_percentage) FROM home_owners WHERE home_id = ?");
|
||||
$stmt->execute([$idhome]);
|
||||
$currentTotal = $stmt->fetchColumn() ?: 0;
|
||||
|
||||
$totalAfterInsert = $currentTotal + $ownership_percentage;
|
||||
|
||||
if ($totalAfterInsert > 100) {
|
||||
die(json_encode(["success" => false, "message" => "Errore: La somma totale dei proprietari supererebbe il 100%."]));
|
||||
die(json_encode(["success" => false, "message" => "Errore: La somma totale dei proprietari supererebbe il 100%. Totale attuale: $currentTotal%, percentuale richiesta: $ownership_percentage%."]));
|
||||
}
|
||||
|
||||
// Inserisce il nuovo proprietario nella tabella home_owners
|
||||
$queryInsert = $conn->prepare("
|
||||
$stmt = $pdo->prepare("
|
||||
INSERT INTO home_owners (home_id, owner_id, ownership_percentage, notes, created_at, updated_at)
|
||||
VALUES (?, ?, ?, ?, NOW(), NOW())
|
||||
");
|
||||
|
||||
if ($queryInsert === false) {
|
||||
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()) {
|
||||
try {
|
||||
$stmt->execute([$idhome, $owner_id, $ownership_percentage, $notes]);
|
||||
echo json_encode(["success" => true, "message" => "Proprietario aggiunto con successo."]);
|
||||
} else {
|
||||
die(json_encode(["success" => false, "message" => "Errore nell'inserimento: " . $queryInsert->error]));
|
||||
} catch (PDOException $e) {
|
||||
die(json_encode(["success" => false, "message" => "Errore nell'inserimento: " . $e->getMessage()]));
|
||||
}
|
||||
|
||||
$queryInsert->close();
|
||||
$conn->close();
|
||||
|
||||
Reference in New Issue
Block a user