请提供帮助,尝试创建一个预订表单,用户将获得上述字段中所述容量的可用房间下拉列表。
我是PDO的新手并且正在努力学习,但似乎无法自己找到答案。
ATM,下拉列表显示"注意:未定义索引:......第29行...... SQLSTATE(HY093)"
第29行是:$group = $_GET['groupsize'];
尝试了很多不同的值并继续在列表中出错。
<input type="text" name="groupsize"><br>
<select id="roomID" name="roomID">
<option value="">
<?php
$DBH = new PDO("mysql:host=localhost;dbname=reserve", 'root', '');
$group = $_GET['groupsize'];
$ROOMS = $DBH->prepare("SELECT ROOM_NAME FROM room WHERE capacity = :group");
$ROOMS->execute();
$ROOMS->bindParam(':group', $group);
while($result = fetchAll($ROOMS)){
echo '<OPTION VALUE="$result[0]">"$result[]"</OPTION>';
}
?>
</select>
答案 0 :(得分:0)
更改
$ROOMS = $DBH->prepare("SELECT ROOM_NAME FROM room WHERE capacity = :group");
$ROOMS->execute();
$ROOMS->bindParam(':group', $group);
到
$ROOMS = $DBH->prepare("SELECT ROOM_NAME FROM room WHERE capacity = :group");
$ROOMS->bindValue(':group', $group);
$ROOMS->execute();
答案 1 :(得分:0)
这是我整个booking.php文件的正文内容。尝试了一些事情并将错误消除了,但是下拉列表没有显示任何内容。
正如我所说,我对此的新意见可能很简单,但我无法看到它:/
<form action="reservation.php" method="_POST">
Dato:<br>
<input type="date" name="date"><br>
Fra:<br>
<input type="time" name="start"><br>
Til:<br>
<input type="time" name="endT"><br>
Tittel for booking:<br>
<input type="text" name="title"><br>
Ditt brukernavn (8 tegn):<br>
<input type="text" name="userID"><br>
Gruppestørrelse:<br>
<input type="text" name="groupsize"><br>
Velg tilgjengelig rom:<br>
<select id="roomID" name="roomID">
<option value="">
<?php
$DBH = new PDO("mysql:host=localhost;dbname=reserve", 'root', '');
$group = $_GET['groupsize'];
$ROOMS = $DBH->prepare("SELECT ROOM_NAME FROM room WHERE capacity = :group");
$ROOMS->bindValue(':group', $group);
$ROOMS->execute();
if($ROOMS->rowCount() > 0){
echo '<OPTION VALUE="$result[0]">"$result[]"</OPTION>';
}
else{
echo 'Ingen rom tilgjengelig.';
}
?>
</select><br><br><br>
<!--<select name="roomID"></select><br> -->
<input type="reset" value="tilbakestill"><input type="submit" value="Send booking">