|
|
|
ระบบจองห้องพัก ชั่วคราว+ค้างคืน ทำไม่ได้มาเกือบเดือนแล้วครับ ขอความช่วยเหลือด่วน |
|
|
|
|
|
|
|
มีตารางอยู่ทั้ง 2 แบบครับ ทั้งแยกวันเวลา และรวม
Code (PHP)
-- แบบรวมวันกับเวลาในฟิวเดียว
-- โครงสร้างตาราง `tb_det_booking`
--
CREATE TABLE `tb_det_booking` (
`id` int(11) NOT NULL auto_increment,
`id_booking` int(3) NOT NULL,
`id_room` int(2) NOT NULL,
`type_booking` varchar(20) NOT NULL,
`time_start` datetime NOT NULL,
`time_end` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;
--
-- dump ตาราง `tb_det_booking`
--
INSERT INTO `tb_det_booking` VALUES (1, 1, 9, 'ค้างคืน', '2012-02-22 12:00:00', '2012-02-23 12:00:00');
INSERT INTO `tb_det_booking` VALUES (2, 1, 10, 'ค้างคืน', '2012-02-22 13:00:00', '2012-02-23 12:00:00');
INSERT INTO `tb_det_booking` VALUES (3, 2, 7, 'ชั่วคราว', '2012-02-22 12:00:00', '2012-02-22 15:00:00');
INSERT INTO `tb_det_booking` VALUES (4, 2, 8, 'ชั่วคราว', '2012-02-22 13:00:00', '2012-02-22 16:00:00');
-- --------------------------------------------------------
Code (PHP)
-- แบบแยกวันกับเวลาคนละฟิว
-- โครงสร้างตาราง `tb_det_booking`
--
CREATE TABLE `tb_det_booking` (
`id` int(11) NOT NULL auto_increment,
`id_booking` int(3) NOT NULL,
`id_room` int(2) NOT NULL,
`type_booking` varchar(20) NOT NULL,
`date_start` date NOT NULL,
`date_end` date NOT NULL,
`time_start` time NOT NULL,
`time_end` time NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;
--
-- dump ตาราง `tb_det_booking`
--
INSERT INTO `tb_det_booking` VALUES (1, 1, 9, 'ค้างคืน', '2012-02-20', '2012-02-21', '13:00:00', '12:00:00');
INSERT INTO `tb_det_booking` VALUES (2, 1, 10, 'ค้างคืน', '2012-02-20', '2012-02-21', '13:00:00', '12:00:00');
INSERT INTO `tb_det_booking` VALUES (3, 2, 7, 'ชั่วคราว', '2012-02-20', '2012-02-20', '13:00:00', '16:00:00');
INSERT INTO `tb_det_booking` VALUES (4, 2, 8, 'ชั่วคราว', '2012-02-20', '2012-02-20', '13:00:00', '16:00:00');
-- --------------------------------------------------------
แต่ผมจะ select ทีละห้องเพื่อแสดงสีพื้นหลัง (ผมใช้ช่องของตารางแสดงตำแหน่งห้อง) เลยต้องทำการ query ทีละห้องครับ โดยก่อนอื่นผู้ที่จะจองจะต้องเลือกรูปแบบการจอง
1. ชั่วคราว
2. ค้างคืน
และเลือกวันและเวลาที่จะเข้า
(ถ้าจองแบบค้างคืน จะกรอกจำนวนวันด้วยครับ)
หลังจากนั้นก็มาถึงหน้าเจ้าปัญหาครับ
**โดยเจ้าหน้านี้จะได้
1. วันวันที่จะเข้า $date_start
2. เวลาที่จะเข้า $time_start
3. วันที่จะ checkout $date_end
4. เวลาที่จะออก $time_end
หมายเหตุ : ถ้าเค้าจะจองแบบค้างคืนก็จะได้ครบ วันที่เข้า เวลาที่เข้า วันที่ออก เวลาที่ออก(12:00:00) แต่ถ้าเค้าจะจองแบบชั่วคราวจะได้แค่วันเข้าและเวลาเข้า (โดยผมคิดแบบนี้) วันทีออก=วันที่เข้า เวลาที่ออก=เวลาเข้า จับแยกแล้ว เอา ชม.มา+3 จะได้เวลาที่ออก
ตรงนี้แหละครับผมไม่รู้จะทำยังแล้ว
ช่วยด้วยครับ พี่วิน พี่เดี่ยว พี่สามารถ และขั้นเทพทุกๆ ท่าน
Tag : PHP, MySQL
|
ประวัติการแก้ไข 2012-02-22 17:15:03 2012-02-22 17:22:25
|
|
|
|
|
Date :
2012-02-22 17:06:06 |
By :
enland |
View :
3288 |
Reply :
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
echo "<br>".date('d-m-yy H:i:s');
echo "<br>".date('d-m-yy')." ".(date('H')+3).":".date('i:s');
|
|
|
|
|
Date :
2012-02-22 18:14:09 |
By :
mangkunzo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?
session_start();
$type_booking=$_POST[type_booking];
echo "type_booking$type_booking<br>";
$date_booking=$_POST[date_booking];
//echo "date_booking$date_booking<br>";
$time_h=$_POST[time_h];
$time_m=$_POST[time_m];
$time_t="$time_h:$time_m:00";
//echo "$time_t<br>";
$day=$_POST[day];
//echo "day=$day<br>";
if ($day==null) {
$date_end=$date_booking;
$time_h=$time_h+3;
$time_end="$time_h:$time_m:00";
} else {
$date_end = strtotime(date("Y-m-d", strtotime($date_booking)) . " +$day day");
$date_end=date('Y-m-d', $date_end);
//echo "$date_end<br>";
$time_end="12:00:00";
//echo "$time_end<br>";
}
$date_reg=date("Y-m-d");
//echo "$date_reg<br>";
$time_start="$date_booking $time_t";
//$time_start='2012-02-25 13:00:00';
//$time_end='2012-02-25 15:00:00';
$time_end="$date_end $time_end";
echo "time_start=$time_start<br>time_end=$time_end";
function compareDate($date_reg,$date_booking) {
$arrDate_reg = explode("-",$date_reg);
$arrDate_booking = explode("-",$date_booking);
$timStmp_reg = mktime(0,0,0,$arrDate_reg[1],$arrDate_reg[2],$arrDate_reg[0]);
$timStmp_booking = mktime(0,0,0,$arrDate_booking[1],$arrDate_booking[2],$arrDate_booking[0]);
if ($timStmp_reg > $timStmp_booking) {
echo "<script>alert(\"Error : กรุณาเลือกวันล่วงหน้า\"); history.go (-1); </script> "; exit();
}
}
echo compareDate($date_reg,$date_booking);
if ($date_booking>>$date_reg) {
echo "<script>alert(\"Error : กรุณาเลือกวันล่วงหน้า\"); history.go (-1); </script> "; exit();
}
include "connect.php";
include "module/member/function.php";
//$id_type=$_GET[id_type];
//echo "$time_t"
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>..:: MJJ เซกาใต้รีสอร์ท ::..</title>
<link href="Style.css" rel="stylesheet" type="text/css" />
</head>
<body style="filter:progid:DXImageTransform.Microsoft.Gradient(endColorstr='#D1DCEB', startColorstr='#4C77B6', gradientType='0');">
<div class="container">
<div class="header"> <!-- end .header -->
</div>
<div class="menu">
<?
if ($_SESSION==NULL) {
include "module/right.php";
} else {
include "module/member/main.php";
}
?>
<!-- end .sidebar1 --></div>
<div class="main">
<center>
<h2><? echo "แสดงสถานะห้องของวันที่ "; ?><?=displaydate($date_booking)?><? echo " เวลา $time_t ";?></h2></center>
<form method="post" action="booking1.php">
<table width="90%" border="0" align="center">
<tr>
<td colspan="4" rowspan="5" align="center" class="t_body"><font size="+1">สระ</font></td>
<td width="8%" class="t_body"
<?
//เรียกห้องที่มีการจองเพื่อแสดงเป็นสีแดง
$sql="select * from tb_det_booking where id_room='10' and (($time_start between time_start and time_end) or ($time_end between time_start and time_end))";
$result=mysql_db_query($dbname,$sql);
if ($result) {
echo "bgcolor='#FF0000'";
echo "><input type='checkbox' name='r10' value='10' disabled='disabled'>";
echo "10 แอร์<br>";
} else {
echo "bgcolor='#00FF00'";
echo "><input type='checkbox' name='r10' value='10' >";
echo "10 แอร์";
}
?> </td>
<td width="1%"> </td>
<td width="8%" class="t_body_1"></td>
<td colspan="2">= ว่าง</td>
<td width="2%"> </td>
<td colspan="4" rowspan="6" class="t_body"><font size="+1">จุดชมวิว / พักผ่อน</font></td>
<td width="9%"> </td>
</tr>
<tr>
<td class="t_body"
<?
$sql="select * from tb_det_booking where ((time_start BETWEEN '$time_start' and '$time_end') OR (time_end BETWEEN '$time_start' and '$time_end')) AND id_room='9'";
$result=mysql_db_query($dbname,$sql);
$record=mysql_fetch_array($result);
if ($record[id_room]=='9') {
echo "bgcolor='#FF0000'";
echo "><input type='checkbox' name='r9' value='9' disabled='disabled'>";
echo "9 แอร์";
} else {
echo "bgcolor='#00FF00'";
echo "><input type='checkbox' name='r9' value='9' >";
echo "9 แอร์";
}
?></td>
<td> </td>
<td></td>
<td colspan="2"> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td class="t_body"
<?
$sql="select * from tb_det_booking where ((time_start BETWEEN '$time_start' and '$time_end') OR (time_end BETWEEN '$time_start' and '$time_end')) AND id_room='8'";
$result=mysql_db_query($dbname,$sql);
$record=mysql_fetch_array($result);
if ($record[id_room]=='8') {
echo "bgcolor='#FF0000'";
echo "><input type='checkbox' name='r8' value='8' disabled='disabled'>";
echo "8 แอร์";
} else {
echo "bgcolor='#00FF00'";
echo "><input type='checkbox' name='r8' value='8' >";
echo "8 แอร์";
}
?> </td>
<td> </td>
<td class="t_body_3"></td>
<td colspan="2">= ไม่ว่าง</td>
<td> </td>
<td> </td>
</tr>
<tr>
<td class="t_body"
<?
$sql="select * from tb_det_booking where ((time_start BETWEEN '$time_start' and '$time_end') OR (time_end BETWEEN '$time_start' and '$time_end')) AND id_room='7'";
$result=mysql_db_query($dbname,$sql);
$record=mysql_fetch_array($result);
if ($record[id_room]=='7') {
echo "bgcolor='#FF0000'";
echo "><input type='checkbox' name='r7' value='7' disabled='disabled'>";
echo "7 แอร์";
} else {
echo "bgcolor='#00FF00'";
echo "><input type='checkbox' name='r7' value='7' >";
echo "7 แอร์";
}
?> </td>
<td> </td>
<td> </td>
<td width="7%"> </td>
<td width="7%"> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td class="t_body"
<?
$sql="select * from tb_det_booking where ((time_start BETWEEN '$time_start' and '$time_end') OR (time_end BETWEEN '$time_start' and '$time_end')) AND id_room='6'";
$result=mysql_db_query($dbname,$sql);
$record=mysql_fetch_array($result);
if ($record[id_room]=='6') {
echo "bgcolor='#FF0000'";
echo "><input type='checkbox' name='r6' value='6' disabled='disabled'>";
echo "6 แอร์";
} else {
echo "bgcolor='#00FF00'";
echo "><input type='checkbox' name='r6' value='6' >";
echo "6 แอร์";
}
?> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td width="6%" class="t_body"
<?
$sql="select * from tb_det_booking where ((time_start BETWEEN '$time_start' and '$time_end') OR (time_end BETWEEN '$time_start' and '$time_end')) AND id_room='1'";
$result=mysql_db_query($dbname,$sql);
$record=mysql_fetch_array($result);
if ($record[id_room]=='1') {
echo "bgcolor='#FF0000'";
echo "><input type='checkbox' name='r1' value='1' disabled='disabled'>";
echo "1 แอร์";
} else {
echo "bgcolor='#00FF00'";
echo "><input type='checkbox' name='r1' value='1' >";
echo "1 แอร์";
}
?> </td>
<td width="6%" class="t_body"
<?
$sql="select * from tb_det_booking where ((time_start BETWEEN '$time_start' and '$time_end') OR (time_end BETWEEN '$time_start' and '$time_end')) AND id_room='2'";
$result=mysql_db_query($dbname,$sql);
$record=mysql_fetch_array($result);
if ($record[id_room]=='2') {
echo "bgcolor='#FF0000'";
echo "><input type='checkbox' name='r2' value='2' disabled='disabled'>";
echo "2 แอร์";
} else {
echo "bgcolor='#00FF00'";
echo "><input type='checkbox' name='r2' value='2' >";
echo "2 แอร์";
}
?> </td>
<td width="6%" class="t_body"
<?
$sql="select * from tb_det_booking where ((time_start BETWEEN '$time_start' and '$time_end') OR (time_end BETWEEN '$time_start' and '$time_end')) AND id_room='3'";
$result=mysql_db_query($dbname,$sql);
$record=mysql_fetch_array($result);
if ($record[id_room]=='3') {
echo "bgcolor='#FF0000'";
echo "><input type='checkbox' name='r3' value='3]' disabled='disabled'>";
echo "3 แอร์";
} else {
echo "bgcolor='#00FF00'";
echo "><input type='checkbox' name='r3' value='3' >";
echo "3 แอร์";
}
?> </td>
<td width="6%" class="t_body"
<?
$sql="select * from tb_det_booking where ((time_start BETWEEN '$time_start' and '$time_end') OR (time_end BETWEEN '$time_start' and '$time_end')) AND id_room='4'";
$result=mysql_db_query($dbname,$sql);
$record=mysql_fetch_array($result);
if ($record[id_room]=='4') {
echo "bgcolor='#FF0000'";
echo "><input type='checkbox' name='r4' value='4' disabled='disabled'>";
echo "4 แอร์";
} else {
echo "bgcolor='#00FF00'";
echo "><input type='checkbox' name='r4' value='4' >";
echo "4 แอร์";
}
?> </td>
<td class="t_body"
<?
$sql="select * from tb_det_booking where ((time_start BETWEEN '$time_start' and '$time_end') OR (time_end BETWEEN '$time_start' and '$time_end')) AND id_room='5'";
$result=mysql_db_query($dbname,$sql);
$record=mysql_fetch_array($result);
if ($record[id_room]=='5') {
echo "bgcolor='#FF0000'";
echo "><input type='checkbox' name='r5' value='5' disabled='disabled'>";
echo "5 แอร์";
} else {
echo "bgcolor='#00FF00'";
echo "><input type='checkbox' name='r5' value='5' >";
echo "5 แอร์";
}
?> </td>
<td> </td>
<td class="t_body"
<?
$sql="select * from tb_det_booking where ((time_start BETWEEN '$time_start' and '$time_end') OR (time_end BETWEEN '$time_start' and '$time_end')) AND id_room='16'";
$result=mysql_db_query($dbname,$sql);
$record=mysql_fetch_array($result);
if ($record[id_room]=='16') {
echo "bgcolor='#FF0000'";
echo "><input type='checkbox' name='r16' value='16' disabled='disabled'>";
echo "16 พัดลม";
} else {
echo "bgcolor='#00FF00'";
echo "><input type='checkbox' name='r16' value='16' >";
echo "16 พัดลม";
}
?> </td>
<td class="t_body"
<?
$sql="select * from tb_det_booking where ((time_start BETWEEN '$time_start' and '$time_end') OR (time_end BETWEEN '$time_start' and '$time_end')) AND id_room='17'";
$result=mysql_db_query($dbname,$sql);
$record=mysql_fetch_array($result);
if ($record[id_room]=='17') {
echo "bgcolor='#FF0000'";
echo "><input type='checkbox' name='r17' value='17' disabled='disabled'>";
echo "17 พัดลม";
} else {
echo "bgcolor='#00FF00'";
echo "><input type='checkbox' name='r17' value='17' >";
echo "17 พัดลม";
}
?> </td>
<td class="t_body"
<?
$sql="select * from tb_det_booking where ((time_start BETWEEN '$time_start' and '$time_end') OR (time_end BETWEEN '$time_start' and '$time_end')) AND id_room='18'";
$result=mysql_db_query($dbname,$sql);
$record=mysql_fetch_array($result);
if ($record[id_room]=='18') {
echo "bgcolor='#FF0000'";
echo "><input type='checkbox' name='r18' value='18' disabled='disabled'>";
echo "18 พัดลม";
} else {
echo "bgcolor='#00FF00'";
echo "><input type='checkbox' name='r18' value='18' >";
echo "18 พัดลม";
}
?> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td colspan="15" class="t_body_line"><font color="#FFFFFF">ทางเข้า=></font></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td colspan="6" rowspan="2" align="right"><input type="submit" value="จองห้องที่เลือก" />
<input type="reset" value="เลือกห้องใหม่" />
<input type="hidden" name="date_b" value="<?=$date_booking?>" />
<input type="hidden" name="time_h" value="<?=$time_h?>" />
<input type="hidden" name="time_m" value="<?=$time_m?>" />
<input type="hidden" name="time_start" value="<?=$time_start?>" />
<input type="hidden" name="time_end" value="<?=$time_end?>" />
<input type="hidden" name="type_booking" value="<?=$type_booking?>" />
<input type="hidden" name="day" value="<?=$day?>" />
</td>
<td> </td>
<td width="9%" class="t_body"
<?
$sql="select * from tb_det_booking where ((time_start BETWEEN '$time_start' and '$time_end') OR (time_end BETWEEN '$time_start' and '$time_end')) AND id_room='11'";
$result=mysql_db_query($dbname,$sql);
$record=mysql_fetch_array($result);
if ($record[id_room]=='11') {
echo "bgcolor='#FF0000'";
echo "><input type='checkbox' name='r11' value='11' disabled='disabled'>";
echo "11 พัดลม";
} else {
echo "bgcolor='#00FF00'";
echo "><input type='checkbox' name='r11' value='11' >";
echo "11 พัดลม";
}
?> </td>
<td width="9%" class="t_body"
<?
$sql="select * from tb_det_booking where ((time_start BETWEEN '$time_start' and '$time_end') OR (time_end BETWEEN '$time_start' and '$time_end')) AND id_room='12'";
$result=mysql_db_query($dbname,$sql);
$record=mysql_fetch_array($result);
if ($record[id_room]=='12') {
echo "bgcolor='#FF0000'";
echo "><input type='checkbox' name='r12' value='12' disabled='disabled'>";
echo "12 พัดลม";
} else {
echo "bgcolor='#00FF00'";
echo "><input type='checkbox' name='r12' value='12' >";
echo "12 พัดลม";
}
?> </td>
<td width="7%" class="t_body"
<?
$sql="select * from tb_det_booking where ((time_start BETWEEN '$time_start' and '$time_end') OR (time_end BETWEEN '$time_start' and '$time_end')) AND id_room='13'";
$result=mysql_db_query($dbname,$sql);
$record=mysql_fetch_array($result);
if ($record[id_room]=='13') {
echo "bgcolor='#FF0000'";
echo "><input type='checkbox' name='r13' value='13' disabled='disabled'>";
echo "13 แอร์";
} else {
echo "bgcolor='#00FF00'";
echo "><input type='checkbox' name='r13' value='13' >";
echo "13 แอร์";
}
?> </td>
<td width="9%" class="t_body"
<?
$sql="select * from tb_det_booking where ((time_start BETWEEN '$time_start' and '$time_end') OR (time_end BETWEEN '$time_start' and '$time_end')) AND id_room='14'";
$result=mysql_db_query($dbname,$sql);
$record=mysql_fetch_array($result);
if ($record[id_room]=='14') {
echo "bgcolor='#FF0000'";
echo "><input type='checkbox' name='r14' value='14' disabled='disabled'>";
echo "14 พัดลม";
} else {
echo "bgcolor='#00FF00'";
echo "><input type='checkbox' name='r14' value='14' >";
echo "14 พัดลม";
}
?> </td>
<td class="t_body"
<?
$sql="select * from tb_det_booking where ((time_start BETWEEN '$time_start' and '$time_end') OR (time_end BETWEEN '$time_start' and '$time_end')) AND id_room='15'";
$result=mysql_db_query($dbname,$sql);
$record=mysql_fetch_array($result);
if ($record[id_room]=='15') {
echo "bgcolor='#FF0000'";
echo "><input type='checkbox' name='r15' value='15' disabled='disabled'>";
echo "15 พัดลม";
} else {
echo "bgcolor='#00FF00'";
echo "><input type='checkbox' name='r15' value='15' >";
echo "15 พัดลม";
}
?></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>
</form>
<br />
<h2><font color="#004A00"><b>หมายเหตุ</b> : คลิกเลือกห้องที่ต้องการพัก</font></h2>
</div>
<div class="footer">
<?
include "module/footer.php";
?>
<!-- end .footer --></div>
<!-- end .container --></div>
</body>
</html>
ไม่ได้อ่าครับพี่ แต่เอาไป query ใน phpmyadmin ได้นะ ผมงงมาเป็นเพราะอะไร ช่วยดูโค้ดให้หน่อยคร้าบ แต่ผมพึ่งลอง query ที่ห้อง 10 ห้องเดียว
|
ประวัติการแก้ไข 2012-02-22 23:39:06
|
|
|
|
Date :
2012-02-22 23:24:46 |
By :
enland |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
จะให้ตรวจสอบห้องตรงลำดับ 1-18 ใช้เปล่าว่าอันไหนว่าง ไม่ว่าง
แล้วเงื่อนไขไหนที่ใช้ตรวจสอบละ บอกมาตรงจุดเลย แบบนี้ ตาลายมาก
|
|
|
|
|
Date :
2012-02-22 23:45:14 |
By :
somparn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมใช้ num_rows ได้แล้วครับ ขอบคุณครับ
|
|
|
|
|
Date :
2012-02-23 09:56:57 |
By :
enland |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|