你好我正在建立一个私人公寓预订系统。我坚持让用户选择选择相同类型的多个房间。我想要做的是使用<选择>将包含所选房间的ID。
这是我的数据库结构:
预订表:
+ ------------------------------------------------- --------- +
| id checkin checkout room_id guestname partysize |
+ ------------------------------------------------- --------- +
| 1 2017-01-01 2017-01-10 1 somename 2 |
+ ------------------------------------------------- --------- +
房间表
+ ------------------------------------------ +
| id name price accomodationsize |
+ ------------------------------------------ +
| 1间双人房50 2 |
+ ------------------------------------------ +
这是index.php中用于检索所选时间段内可用房间的查询:
if(isset($ _ POST ['action'])和$ _POST ['action'] =='search')
{
包括'../includes/db.inc.php';
尝试
{
$ sql ='SELECT * FROM rooms WHERE rooms.id NOT IN
(选择rooms.id来自房间
LEFT JOIN预订
ON rooms.id = reservation.room_id在哪里
签入BETWEEN:checkin AND:checkout OR
checkout BETWEEN:checkin AND:checkout OR
签到并结帐BETWEEN:checkin AND:checkout)';
$ s = $ pdo-> prepare($ sql);
$ S-> bindValue( ':签',$ _ POST [ '签']);
$ S-> bindValue( ':结帐',$ _ POST [ '结帐']);
$ S->执行();
}
然后在以下代码中使用此查询(我将$ s切换为$ rooms_id)此代码尝试为用户提供从同一表单中选择多个房间的选项,具体取决于SQL查询返回的内容。我尝试使用< select>像这样的标签(我知道下面的代码是凌乱的,包含很多没有意义的东西,但我一直在测试它,试图找出问题):
< form action =“index.php”method =“post”>
< select name =“optname”>
< option value =“default”> 0< / option>
<?php foreach($ rooms_id as $ id):?>
<?php $ selectedrooms [] = $ id; ?>
< option value =“<?php echo $ selectedrooms?>”>
<?php print_r($ selectedrooms); ?>
< /选项>
<?php endforeach;?>
< /选择>
< input type =“submit”name =“action”value =“reserve”>
< /形式>
我以为这会发送< select>回到我的index.php,我会使用这个信息对预订表进行INSERT查询。但这不会发生。在使用$ _POST ['optname']之后,var_dump显示一个STRING,表示'Array'而不是具有ID值的实际数组。
编辑:
这是使用$ _POST ['action']和$ _POST ['action'] =='search'的地方。
< PHP
包括'../includes/header.html.php';
?>
<身体GT;
< div id =“formcontainer”>
< form action =“index.php”method =“post”>
< p为H.入住:其中/ p为H.
< input type =“date”name =“checkin”required>
&LT峰; br>
< p为H.退房:其中/ p为H.
< input type =“date”name =“checkout”required>
&LT峰; br>
< p>来宾人数:< / p>
< input type =“number”name =“partysize”required>
&LT峰; br>
< input type =“submit”name =“action”value =“search”>
< /形式>
< / DIV>
< /体>
< / HTML>