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();