如何解决如何遍历复选框数组和MySQL数据库而不会重叠?
|for($j = 0; $j < $length; $j++){
while($answersRow = mysql_fetch_row($fetch)){
if($answersRow[0] == $curr_answer_id[$j]){
echo \"<input type=\'checkbox\' value=\'$answersRow[0]\' checked>$answersRow[1]</input> \";
} else {
echo \"<input type=\'checkbox\' value=\'$answersRow[0]\'>$answersRow[1]</input> \";
}
}
}
假设我的结果是ѭ1,,这就是我的难题。 for
循环表示the3ѭ。第一次循环,一切正常。然而,除此之外,由于内部有mysql指针,我们不再循环浏览ѭ4。我知道我可以使用mysql_data_seek()
移动指针,但是对如何有效地使用指针一无所知。如果我将其移回0,那么它只会输出所有已检查内容。
我基本上想遍历数据库中的每个问题,但没有任何重叠。有点难以解释,如果无法正确解释这个简单问题,我深表歉意。我会尝试澄清是否需要。
解决方法
您可以将第一个结果保存在数组中:
//> FIRST LOOP
while($row = mysql_fetch_assoc($query)) {
$rows[] = $row; //> Saving in the $rows array
//> All your code from your first loop
}
//> SECOND LOOP
foreach($rows as $v) {
//> All your code you need for your second loop without any additional query
}
也很抱歉,如果我误解了您的问题,但不清楚您要什么
附录
在更好地阅读了您的问题之后,如果我理解正确,那么您只想在一个循环中就可以达到所有目的。在这种情况下,您可以像这样在第一时间保存所需的html:
$firstLoop = \'\';
$secondLoop = \'\';
while() {
$firstLoop .= \'<option> [...]\';
$secondLoop .= \'<div> [...]\';
}
在这一点上,您已经构建了所需的html,它们位于$firstLoop
和$secondLoop
中。这当然比任何其他解决方案都快
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。