RoamEase/indexes/user/addcart.php
2025-06-06 17:31:03 +08:00

126 lines
6.3 KiB
PHP

<?php
include "../ConnectDB.php";
session_start();
if (isset($_SESSION['loggedin']) && $_SESSION['loggedin'] === true) {
$uid = mysqli_real_escape_string($conn, $_SESSION['uid']);
}
else {
echo "<script type='text/javascript'>
window.top.location.href = '../../login/username.php?error=You need to login to process this action!';
</script>";
}
if (isset($_GET["target_id"]) && isset($_GET["start_date"]) && isset($_GET["end_date"]) && isset($_GET["quantity"]) && isset($_GET["table"])) {
$target_id = $_GET["target_id"];
$start_date = $_GET["start_date"];
$end_date = $_GET["end_date"];
if ($end_date && $end_date !== 'NULL'){
// Convert the dates to DateTime objects
$start = new DateTime($start_date);
$end = new DateTime($end_date);
// Calculate the difference
$interval = $start->diff($end);
$days = $interval->days;
}
$quantity = intval($_GET["quantity"]);
$new_booking_query = "INSERT INTO `bookings` (`booking_id`) VALUES (NULL)";
$new_booking_set = mysqli_query($conn, $new_booking_query);
$booking_id = mysqli_insert_id($conn);
switch ($_GET["table"]) {
case '1':
$price_query = "SELECT price FROM hotel_room WHERE hotel_room_id=" . $target_id;
$priceRes = mysqli_query($conn, $price_query);
$price = mysqli_fetch_assoc($priceRes);
$price = $price["price"];
$subtotal_price = $price * $days;
$query = "INSERT INTO `hotel_booking` (`booking_id`, `hotel_room_id`, `start_date`, `end_date`, `quantity`, `payment_status`) VALUES ('$booking_id', '$target_id', '$start_date', '$end_date', '$quantity', '0')";
$cart = "INSERT INTO `cart_bookings` (`u_id`, `booking_id`, `booking_type_id`, `subtotal_price`, `choose`) VALUES ('$uid', '$booking_id', '1', '$subtotal_price', '1')";
break;
case '2':
$price_query = "SELECT fee FROM restaurant WHERE restaurant_id=" . $target_id;
$priceRes = mysqli_query($conn, $price_query);
$price = mysqli_fetch_assoc($priceRes);
$price = $price["fee"];
$subtotal_price = $price;
$query = "INSERT INTO `restaurant_booking` (`booking_id`, `restaurant_id`, `visit_date`, `quantity`, `payment_status`) VALUES ('$booking_id', '$target_id', '$start_date', '$quantity', '0')";
$cart = "INSERT INTO `cart_bookings` (`u_id`, `booking_id`, `booking_type_id`, `subtotal_price`, `choose`) VALUES ('$uid', '$booking_id', '2', '$subtotal_price', '1')";
break;
case '3':
$price_query = "SELECT price FROM attraction WHERE attraction_id=" . $target_id;
$priceRes = mysqli_query($conn, $price_query);
$price = mysqli_fetch_assoc($priceRes);
$price = $price["price"];
$subtotal_price = $price;
$query = "INSERT INTO `attraction_booking` (`booking_id`, `attraction_id`, `visit_date`, `quantity`, `payment_status`) VALUES ('$booking_id', '$target_id', '$start_date', '$quantity', '0')";
$cart = "INSERT INTO `cart_bookings` (`u_id`, `booking_id`, `booking_type_id`, `subtotal_price`, `choose`) VALUES ('$uid', '$booking_id', '3', '$subtotal_price', '1')";
break;
case '4':
$price_query = "SELECT fee FROM user_guide WHERE u_id=" . $target_id;
$priceRes = mysqli_query($conn, $price_query);
$price = mysqli_fetch_assoc($priceRes);
$price = $price["fee"];
$subtotal_price = $price * $days;
$query = "INSERT INTO `guide_booking` (`booking_id`, `guide_id`, `start_date`, `end_date`, `quantity`, `guide_availability`, `payment_status`) VALUES ('$booking_id', '$target_id', '$start_date', '$end_date', '$quantity', '0', '0')";
$cart = "INSERT INTO `cart_bookings` (`u_id`, `booking_id`, `booking_type_id`, `subtotal_price`, `choose`) VALUES ('$uid', '$booking_id', '4', '$subtotal_price', '1')";
break;
case '5':
$price_query = "SELECT fee FROM transport_flight_class WHERE flight_class_id=" . $target_id;
$priceRes = mysqli_query($conn, $price_query);
$price = mysqli_fetch_assoc($priceRes);
$price = $price["fee"];
$subtotal_price = $price;
$query = "INSERT INTO `transport_flight_booking` (`booking_id`, `flight_class_id`, `visit_date`, `quantity`, `payment_status`) VALUES ('$booking_id', '$target_id', '$start_date', '$quantity', '0')";
$cart = "INSERT INTO `cart_bookings` (`u_id`, `booking_id`, `booking_type_id`, `subtotal_price`, `choose`) VALUES ('$uid', '$booking_id', '5', '$subtotal_price', '1')";
break;
case '6':
$price_query = "SELECT fee FROM transport_railway_class WHERE train_seat_id=" . $target_id;
$priceRes = mysqli_query($conn, $price_query);
$price = mysqli_fetch_assoc($priceRes);
$price = $price["fee"];
$subtotal_price = $price;
$query = "INSERT INTO `transport_railway_booking` (`booking_id`, `railway_class_id`, `visit_date`, `quantity`, `payment_status`) VALUES ('$booking_id', '$target_id', '$start_date', '$quantity', '0')";
$cart = "INSERT INTO `cart_bookings` (`u_id`, `booking_id`, `booking_type_id`, `subtotal_price`, `choose`) VALUES ('$uid', '$booking_id', '6', '$subtotal_price', '1')";
break;
default:
echo "Unknown booking type";
break;
}
$firstQueryResult = mysqli_query($conn, $query);
if ($firstQueryResult) {
$cartQueryResult = mysqli_query($conn, $cart);
if (!$cartQueryResult) {
// Log error or display a more specific message
$errorMsg = mysqli_error($conn);
echo "<p>Error occurred while executing cart query: $errorMsg</p>";
}
} else {
// Log error or display a more specific message
$errorMsg = mysqli_error($conn);
echo "<p>Error occurred while executing the first query: $errorMsg</p>";
}
$total = "UPDATE user_buyer SET cart_total_price = cart_total_price + ('$subtotal_price' * '$quantity') WHERE u_id='$uid'";
$res = mysqli_query($conn, $total);
if (!$res) {
echo "<script type='text/javascript'>
alert('Error occurred!');
</script>";
}
}
header('Location: ./process/cart.php');
?>