yogibook_aury_new/public/calculate_expiry.php
2025-10-15 20:59:49 +02:00

68 lines
2.7 KiB
PHP

<?php
ini_set('display_errors', '1');
ini_set('display_startup_errors', '1');
error_reporting(E_ALL);
include('Connections/bkngstm.php');
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die(json_encode(['error' => 'Connessione al database fallita']));
}
if (isset($_GET['idorder'])) {
$idorder = $_GET['idorder'];
// Recupera i dati necessari dall'ordine
$order_query = "SELECT idservice, quantityclass, first_lesson_date FROM orderbook WHERE idorderbook = ?";
$stmt_order = $conn->prepare($order_query);
$stmt_order->bind_param("i", $idorder);
$stmt_order->execute();
$order_result = $stmt_order->get_result();
if ($order_result->num_rows > 0) {
$order_row = $order_result->fetch_assoc();
$service_id = $order_row['idservice'];
$quantity_class = $order_row['quantityclass'];
$first_lesson_date = $order_row['first_lesson_date'];
// Recupera expirylessons da expiryparameter
$expiry_lessons_query = "SELECT expirylessons FROM expiryparameter WHERE quantityclass = ?";
$stmt_expiry_lessons = $conn->prepare($expiry_lessons_query);
$stmt_expiry_lessons->bind_param("i", $quantity_class);
$stmt_expiry_lessons->execute();
$expiry_lessons_result = $stmt_expiry_lessons->get_result();
if ($expiry_lessons_result->num_rows > 0) {
$expiry_row = $expiry_lessons_result->fetch_assoc();
$expirylessons = $expiry_row['expirylessons'];
// Calcola la data della expirylessons-esima lezione
$expiry_date_query = "SELECT dateschedule FROM serviceschedule WHERE idservice = ? AND dateschedule >= ? ORDER BY dateschedule LIMIT ?, 1";
$stmt_expiry_date = $conn->prepare($expiry_date_query);
$offset = $expirylessons - 1;
$stmt_expiry_date->bind_param("isi", $service_id, $first_lesson_date, $offset);
$stmt_expiry_date->execute();
$expiry_date_result = $stmt_expiry_date->get_result();
if ($expiry_date_result->num_rows > 0) {
$date_row = $expiry_date_result->fetch_assoc();
$expireon = $date_row['dateschedule'];
echo json_encode(['expiry_date' => $expireon]);
} else {
echo json_encode(['error' => 'Non abbastanza lezioni disponibili per calcolare la scadenza']);
}
$stmt_expiry_date->close();
} else {
echo json_encode(['error' => 'Nessun record in expiryparameter per quantityclass: ' . $quantity_class]);
}
$stmt_expiry_lessons->close();
} else {
echo json_encode(['error' => 'Ordine non trovato']);
}
$stmt_order->close();
}
$conn->close();