我目前正在设计一种调查型系统,其中系统显示使用while循环投票的人数。不幸的是,我不知道如何创建页面,相反,我只能将整个while循环迭代到一个整页脚本中。
这是我的代码:
while($fetch=mysql_fetch_array($query1)){
//Code here
while($fetch=mysql_fetch_array($query2)){
//VERIFY ANSWERS
if(isset($_POST['voted'])){
if(in_array($_POST['score('.$fetch['questionID'].')'], $radioValue)){
}
else{
$missed++;
}
$checker = true;
}
}
//CHECKER IF A RADIO BUTTON IS MISSED
if($checker==true){
if($missed==$rows || $missed < $rows && $missed != 0 ){
echo "<center><font color=red>All items are required</font><br>";
}
else{
//Some code here
}
}
$query=mysql_query("SELECT * FROM questions");
while($fetch=mysql_fetch_array($query)){
//DISPLAYS QUESTIONS WITH QUESTION NUMBER
//Some code here
//DISPLAYS RADIO BUTTONS FROM 1 to 5
//Some code here
}
}
echo "</table>
<br><center>
<input type='submit' name='voted' value='Submit'>
}
基本上,我的代码只是while循环中的while循环
编辑:为了说清楚,我问如何使用一个脚本将while循环迭代分成“页面”。
所以基本上,我想要发生的是:
被提名人1 显示问题(1到9)
下一步按钮
被提名人2 再次显示问题(1到9)
此外,它只会根据fetch_array命令收集的项目数重新进行迭代。
答案 0 :(得分:2)
您应该在SQL查询中使用LIMIT
,并仅获取该页面问题列表。
类似于:SELECT * FROM questions LIMIT 0, 10
会提取前10个问题。
我建议阅读MySQL文档:http://dev.mysql.com/doc/refman/5.0/en/select.html以及不要使用 mysql _ * php函数,不推荐使用PDO
或mysqli_*
函数
答案 1 :(得分:0)
如果我有你的问题,那么我认为你可以这样做:
<?php
while(...) {
#your while loop code
?>
your HTML code for showing data
<?php
} # terminate while loop
?>
PHP代码将在PHP标记下,HTML将在PHP标记之外。
答案 2 :(得分:0)
所以基本上你想要: -
Page 1.
PROCESS POST FROM PREVIOUS PAGE (ie none until page 2)
Get nominees that need questions answered LIMIT 1.
IF NO RESULTS:
SAY "thank you - all finished"
OTHERWISE:
display nominee details
loop through questions 1-9
post form to this script -> this will be page 2