gpt4 book ai didi

php - 在 mysql 中插入类似的值,但使用单个查询多次更改日期列

转载 作者:行者123 更新时间:2023-11-29 23:17:11 25 4
gpt4 key购买 nike

我正在为多家酒店开发预订系统,每家酒店都有多种房型,我想创建一个空房日历。我的想法是,如果我可以重复插入预订详细信息(姓名、入住日期、退房日期、酒店名称……等等),说明可以预订房间的天数,比如我的入住日期是 2014 年 12 月 28 日,然后检查输出日期是 2015-01-07,我插入重复除 check_in_date 之外的所有其他列的值,该值应增加到退房日期之前的日期,然后我可以使用行计数并减去每种房间类型每天的值可用房间。

我被困在数据库...和 ​​php 代码...我似乎无法获取日期类型的 html 输入的值来充当我的开始日期

如果有人知道更简单的方法来实现我的空闲日历,请与我分享。

谢谢,节日快乐。

最佳答案

我建议这样做:

1) 在 HTML input 中要求用户输入 YYYY-MM-DD 中的日期//我认为你也在做同样的事情

2) 在通过 date_indate_out 提交循环时,检查可用性并显示。

$availability="";
if( $date_in=date_create($_POST["check_in_date"]) &&
$date_out=date_create($_POST["check_out_date"]) )
{
$interval = date_diff($date_in, $date_out)->format('%R%a')+1;
for($j=0;$j<$interval;$j++){
$date=date_add($date, date_interval_create_from_date_string('1 days'));
$availability.="ON ".$date->format("Y-m-d").": ";

//check in database and append to $availability as available...
// ....in Hotel XXX,YYY room type AAA,BBB [as you want to display]
}
}
else $availability="Enter dates correctly";

echo $availability;

3) 如果用户确认并付款,则将预订确认信息存储在数据库中。

//code to store in database
// assuming table BOOKING (date,room_type,hotel_id)
//mentioning only required column, you may have more

$bookingDone=false;
if($confirmPayment && $date_in=date_create($_POST["check_in_date"]) &&
$date_out=date_create($_POST["check_out_date"]) )
{
$interval = date_diff($date_in, $date_out)->format('%R%a')+1;

mysqli_start_transaction($dbConnection);
$bookingDone=true;
for($j=0;$j<$interval;$j++){
$date=date_add($date, date_interval_create_from_date_string('1 days'));

//insert in database, $j is dayNo. Ex. in your case 28th will be first day...

// $sql="INSERT INTO booking VALUES ('".$date->format("Y-m-d")."','".$selected_room_type_for_day[$j]."','".$selected_hotel_for_day[$j]."');

if(!inserted) $bookingDone=false;
}
if($bookingDone) mysqli_commit($dbConnection);
else mysqli_rollback($dbConnection);
}
else echo "An error occured";
<小时/>

检查可用性的查询将在步骤 2) 中使用

 "SELECT count(1) as filled_room, hotel_id, room_type FROM booking WHERE date='".$date->format("Y-m-d")."' GROUP BY hotel_id,room_type;"

"SELECT rooms_available-".$filled_room." FROM hotel_info WHERE hotel_id=".$hotel_id." AND room_type='".$room_type."';"

//variable used in second query comes from first one & second will return available rooms
// hotel_info table contains information about each hotels and no of rooms af perticuler type, value of `rooms_available` contains no of rooms in particular hotel.

关于php - 在 mysql 中插入类似的值,但使用单个查询多次更改日期列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27675706/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com