gpt4 book ai didi

php - 循环遍历 MySQL 查询和一组复选框

转载 作者:行者123 更新时间:2023-11-29 04:56:16 27 4
gpt4 key购买 nike

好的,所以通过 $_GET 请求向我传递了一组由其 ID 表示的已检查项目。例如,假设有以下形式:

Question 1
[ ] Answer 1 [31]
[ ] Answer 2 [32]
[ ] Answer 3 [33]
[ ] Answer 4 [34]

假设用户选择了答案 2答案 4,因此传递的数组包含 3234,分别代表他们在数据库中的ID。现在,我想遍历该问题所有答案的数据库查询并打印回复选框。但是,如果答案是他们选择的那个,我希望复选框已经被选中,因此,以我的示例为例,输出将是:

Question 1
[ ] Answer 1 [31]
[x] Answer 2 [32]
[ ] Answer 3 [33]
[x] Answer 4 [34]

我想我的循环结构有点偏离......但这是我开始的:

// The array that gets passed
$curr_answer_id = $_GET['answer'];

$length = count($curr_answer_id);

while($row = mysql_fetch_assoc($fetch2)){
for($j = 0; $j < $length; $j++){
if($row['answer_id'] == $curr_answer_id[$j]){
echo "<input type='checkbox' value='$curr_answer_id[$j]' checked>".$row['answer']."</input>";
} else {
echo "<input type='checkbox' value='$curr_answer_id[$j]'>".$row['answer']."</input>";
}
}
echo "<br \>";
}

但是,这会重复检查许多答案的结果。然而,除了重复之外,它运行良好。与我之前的示例一样,输出为:

Question 1
[ ] Answer 1 [31]
[ ] Answer 1 [31]
[x] Answer 2 [32]
[ ] Answer 2 [32]
[ ] Answer 3 [33]
[ ] Answer 3 [33]
[ ] Answer 4 [34]
[x] Answer 4 [34]

我如何使用现有的解决方案来解决这个问题?如果有人还可以借给我一种更有效的方式来循环浏览所有数据,那也很棒。

谢谢。

最佳答案

也许这是适合您的解决方案?

$curr_answer_id = $_GET['answer'];

while($row = mysql_fetch_assoc($fetch2))
{
echo "<input type='checkbox' value='".$row['answer_id']."' ".(in_array($row['answer_id'], $curr_answer_id) ? " checked" : "").">".$row['answer']."</input>";
echo "<br \>";
}

未测试。

更新:将输入值替换为 $row['answer_id'] 而不是 $curr_answer_id[$j]

关于php - 循环遍历 MySQL 查询和一组复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6363081/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com