预约系统,动态<select>标签

时间:2017-11-13 20:44:47

标签: php html mysql

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

0 个答案:

没有答案