【发布时间】:2014-11-28 17:00:31
【问题描述】:
我正在为一个学校项目进行预订系统,但现在我卡住了。
我有一个页面,您可以在其中检查特定房间类别和日期的房间是否可用
我知道您必须进行内部连接。我用过谷歌,但我不知道怎么做。
这在我的酒店数据库中:
我有一张客房桌:
TABLE `rooms` ( `roomNR` int(11) NOT NULL, `catagory` varchar(11) DEFAULT NULL, `picLocation` varchar(50) DEFAULT NULL, PRIMARY KEY (`roomNR`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
我有一个预订表,其中存储了所有预订。
TABLE `reservation` (
`reservationID` int(11) unsigned NOT NULL AUTO_INCREMENT,
`userID` int(11) NOT NULL,
`roomNR` int(11) NOT NULL,
`start` date NOT NULL,
`end` date NOT NULL,
`price` float NOT NULL,
PRIMARY KEY (`reservationID`),
UNIQUE KEY `userID` (`userID`),
UNIQUE KEY `roomNR` (`roomNR`),
CONSTRAINT `reservation_ibfk_1` FOREIGN KEY (`roomNR`) REFERENCES `rooms` (`roomNR`),
CONSTRAINT `reservation_ibfk_2` FOREIGN KEY (`userID`) REFERENCES `users` (`userID`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
这是我使用的表格:
<form action="" method="GET">
<div>
<label for="StartDate">From</label>
<input type="input" name="startDate" id="startDate" readonly=""> <label for="EndDate">Till</label> <input readonly="" type="input" name="endDate" id="endDate">
<label for="Catagory">Catagory:</label>
<select name="Catagory" id="Catagory">
<?php
$catagorys = DB::Getinstance()->query('SELECT * FROM catagory');
if ($catagorys->count()) {
foreach($catagorys->results() as $catagory){?>
<option value="<?php echo $catagory->name; ?>"><?php echo $catagory->name; ?></option>
<?php }
}
?>
</select> <input type="submit" value="get available rooms" class="btn btn-default">
</div>
</form>
希望有人能帮帮我!
提前谢谢你!
--编辑
现在我正在查看预订表,将类别也存储在其中不是更好吗?
【问题讨论】:
标签: php mysql sql inner-join