PHP在线答题,选择题之间如何切换
<?php……前面是连接数据库部分while($row=mysql_fetch_array($myquery)){//将数据库中对应的列赋值给相应数组$arrayid[]...
<?php
……前面是连接数据库部分
while($row=mysql_fetch_array($myquery)){//将数据库中对应的列赋值给相应数组
$arrayid[]=$row[id];
$array[]=$row[question];
$arrayA[]=$row[optionA];
……
}
$cnt=count($array);
$i=0;//这里有问题
if(isset($_POST['submit'])&&!empty($_POST['submit'])){
$i=$i+1;
}
echo "".$arrayid[$i]."."; //输出题号
echo "".$array[$i]."<br>"; //输出题目
?>
<form name="form1" method="post" action ="2.php">
<input type="radio" id= "style1" name="style1" value="A" />
<?php echo "A." . $arrayA[$i]."";?>
<input type="radio" id= "style1" name="style1" value="B" />
<?php echo "B." . $arrayB[$i]."";?> //这里省略了C,D选项
<input type="submit" value="提交" id="submit" name="submit"/>
我想做的效果是每当点击提交在“同一页面”切记一定是“同一页面”刷新出下一个选择题。
我遇到的问题是$i的初始值为0,在点击提交之后可以刷新出下一个题,但是提交之后要重新连接数据库,如此循环。因此$i的值仍然是0
所以每次只能读出选择题1和选择题2.
现在我希望每点击一次提交$i的值都可以自动增加1,也就是把$i和提交的按钮绑定(未提交时$i=0,读出题目1.点一次提交$i=1读出题目2,继续点提交$i=2读出题目3 ……)
或者是把上一个题的题号赋值给$i,也就是类似我现在读出了第二题那么$ i=$arrayid[0],($arrayid[0]=1)点击提交读出第三题 i=$arrayid[1],($arrayid[0]=2)
但是我不知道应该如何实现,希望大家能给我一些帮助。 展开
……前面是连接数据库部分
while($row=mysql_fetch_array($myquery)){//将数据库中对应的列赋值给相应数组
$arrayid[]=$row[id];
$array[]=$row[question];
$arrayA[]=$row[optionA];
……
}
$cnt=count($array);
$i=0;//这里有问题
if(isset($_POST['submit'])&&!empty($_POST['submit'])){
$i=$i+1;
}
echo "".$arrayid[$i]."."; //输出题号
echo "".$array[$i]."<br>"; //输出题目
?>
<form name="form1" method="post" action ="2.php">
<input type="radio" id= "style1" name="style1" value="A" />
<?php echo "A." . $arrayA[$i]."";?>
<input type="radio" id= "style1" name="style1" value="B" />
<?php echo "B." . $arrayB[$i]."";?> //这里省略了C,D选项
<input type="submit" value="提交" id="submit" name="submit"/>
我想做的效果是每当点击提交在“同一页面”切记一定是“同一页面”刷新出下一个选择题。
我遇到的问题是$i的初始值为0,在点击提交之后可以刷新出下一个题,但是提交之后要重新连接数据库,如此循环。因此$i的值仍然是0
所以每次只能读出选择题1和选择题2.
现在我希望每点击一次提交$i的值都可以自动增加1,也就是把$i和提交的按钮绑定(未提交时$i=0,读出题目1.点一次提交$i=1读出题目2,继续点提交$i=2读出题目3 ……)
或者是把上一个题的题号赋值给$i,也就是类似我现在读出了第二题那么$ i=$arrayid[0],($arrayid[0]=1)点击提交读出第三题 i=$arrayid[1],($arrayid[0]=2)
但是我不知道应该如何实现,希望大家能给我一些帮助。 展开
2个回答
展开全部
你用动态获取I值啊!
然后你的FORM GET过去的时候自动把I加一先不就行了。
$i = $_GET['i'];
在form表单里:
<input type=hidden name='i' value='<?php echo $i+1;?>'>
然后你的FORM GET过去的时候自动把I加一先不就行了。
$i = $_GET['i'];
在form表单里:
<input type=hidden name='i' value='<?php echo $i+1;?>'>
追问
您说的有道理,按照您的方法,我可以读出第三题和第四题。但是如果我直接把$i = $_POST['i'],
那读取第一题的时候由于 $_POST['i']=‘’,因此第一题我读取不出来。因此我必须让先让$i=0,等读出第二题之后再让$i=_POST['i'],请问您有什么好的解决方法
2012-09-17
展开全部
$i=0;//这里有问题
if(isset($_POST['submit'])&&!empty($_POST['submit'])){
$i=$i+1;
}
既然这里执行了$_POST,那可以考虑把$i也作为$_POST变量来回传递吧,
if(isset($_POST['submit'])&&!empty($_POST['submit'])){
$i=$i+1;
}
既然这里执行了$_POST,那可以考虑把$i也作为$_POST变量来回传递吧,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询