connect_error) { $logMessage .= "Connessione al database fallita: " . $conn->connect_error . "\n"; file_put_contents($logFile, $logMessage, FILE_APPEND); die("Connessione al database fallita: " . $conn->connect_error); } $logMessage .= "Database connesso: $dbname\n"; // Query per trovare ordini scaduti $query_orders = "SELECT idorderbook, order_id, expireon FROM orderbook WHERE expireon < NOW()"; $result_orders = $conn->query($query_orders); if (!$result_orders) { $logMessage .= "Errore nella query degli ordini scaduti: " . $conn->error . "\n"; file_put_contents($logFile, $logMessage, FILE_APPEND); $conn->close(); exit; } $logMessage .= "Ordini scaduti trovati: " . $result_orders->num_rows . "\n"; $updated_lessons = 0; $processed_orders = array(); // Aggiorna le lezioni per ogni ordine scaduto while ($order = $result_orders->fetch_assoc()) { $idorderbook = $order['idorderbook']; $processed_orders[] = $idorderbook; $logMessage .= "Elaborazione ordine: idorderbook = $idorderbook, expireon = {$order['expireon']}\n"; // Query per aggiornare le lezioni non completate e non perse $update_query = "UPDATE bookingclass SET expirylesson = 'Y' WHERE idorder = ? AND status != 'completed' AND lostlesson != 'Y' AND expirylesson != 'Y'"; $stmt = $conn->prepare($update_query); if (!$stmt) { $logMessage .= "Errore preparazione query per idorderbook $idorderbook: " . $conn->error . "\n"; continue; } $stmt->bind_param("i", $idorderbook); $stmt->execute(); $affected_rows = $stmt->affected_rows; $updated_lessons += $affected_rows; $logMessage .= "Lezioni aggiornate per idorderbook $idorderbook: $affected_rows\n"; $stmt->close(); } $logMessage .= "Totale lezioni aggiornate: $updated_lessons\n"; $logMessage .= "Ordini elaborati: " . implode(", ", $processed_orders) . "\n"; // Scrivi il log file_put_contents($logFile, $logMessage, FILE_APPEND); // Chiudi la connessione $conn->close();