我需要从我的数据库输出问题,以便用户可以回答他们作为注册过程的一部分。每个问题有2个相关的选项,每个问题现在被输出到站点上两次,每个问题下面有一个选项。我需要每个问题出现一次与他们的相关选择出现在它下面。请看下面我的代码。
<?php
$sql = "SELECT Question_ID, Question FROM Questions;";
$result = mysqli_query($conn, $sql);
$resultCheck = mysqli_num_rows($result);
if($resultCheck > 0):
while($row = mysqli_fetch_assoc($result)):
$questionid = (int)$row['Question_ID'];
?>
<label><?php echo $row['Question'];?></label><input type="hidden" value="<?php echo $row['Question_ID'];?>"/>
<?php
$query = "SELECT Choice_ID, Choice FROM Choices WHERE Question_ID = '$questionid';";
$results = mysqli_query($conn, $query);
$resultsCheck = mysqli_num_rows($results);
if($resultsCheck > 0):
while($rows = mysqli_fetch_assoc($results)):
?>
<br><select id="choice">
<option value="<?php echo $rows['Choice_ID']; ?>"><?php echo $rows['Choice']; ?></option>
</select><br/>
<?php
endwhile;
endif;
endwhile;
endif;
?>
2条答案
按热度按时间agxfikkp1#
像这样组织代码(为了可读性而简化)
tvmytwxo2#
你没有
<form>
在你的问题,我想你知道你在做什么,你知道如何处理发布的数据,因为你的<input>
以及<select>
元素没有任何name
属性。正如草莓所建议的,建议使用事先准备好的语句。
为了满足你的需要,我对你的代码做了一点修改,在你的代码中,你必须
<select>
挂牌退出while
打个圈,然后<option>
循环中的标记。所以代码是这样的: