prepare("UPDATE bookings SET status = ? WHERE id = ?"); $stmt->execute([$action, $booking_id]); $success_message = '预约状态更新成功!'; } elseif (in_array($action, ['已付款', '未付款'])) { // 更新付款状态 $stmt = $pdo->prepare("UPDATE bookings SET payment_status = ? WHERE id = ?"); $stmt->execute([$action, $booking_id]); $success_message = '付款状态更新成功!'; } elseif ($action == 'update_time' && isset($_POST['new_start_time']) && isset($_POST['new_end_time'])) { // 更新预约时间 $new_start_time = $_POST['new_start_time']; $new_end_time = $_POST['new_end_time']; $stmt = $pdo->prepare("UPDATE bookings SET start_time = ?, end_time = ? WHERE id = ?"); $stmt->execute([$new_start_time, $new_end_time, $booking_id]); $success_message = '预约时间更新成功!'; } } catch (Exception $e) { $error_message = '更新失败:' . $e->getMessage(); } } // 获取所有预约(过滤掉已完成和已取消的订单) try { // 确保查询包含payment_status字段 $stmt = $pdo->query("SELECT b.*, p.package_name FROM bookings b LEFT JOIN packages p ON b.package_id = p.id WHERE b.status NOT IN ('已完成', '已取消') ORDER BY b.start_time DESC"); $bookings = $stmt->fetchAll(); } catch (Exception $e) { $error_message = '获取预约列表失败:' . $e->getMessage(); $bookings = []; } ?>