【发布时间】:2013-01-04 15:47:47
【问题描述】:
在我的测验系统中,我实际上正在尝试制作问题页面,但是当我尝试在页面上显示问题行和答案行时,它什么也没显示。
<?php
$q_qselect = mysql_query("SELECT * FROM `questions`");
$q_qnumrows = mysql_num_rows($q_select);
for($i=0;$i<$q_qnumrows;$i++){
$q_qselect = mysql_query("SELECT * FROM `questions` WHERE `id`='$i'");
$q_aselect = mysql_query("SELECT * FROM `answers` WHERE `question_id`='$i'");
$q = mysql_fetch_assoc($q_qselect);
$a = mysql_fetch_assoc($q_aselect);
echo $q['question'] . "<br />";
echo $a['answer'] . "<br />";
}
?>
还有另一个问题——我如何才能真正检查他是否选择了正确的答案? (每个答案附近的单选按钮)当答案表中的字段为correct时?
【问题讨论】:
-
Please, don't use
mysql_*functions in new code。它们不再维护and are officially deprecated。看到red box?改为了解prepared statements,并使用PDO 或MySQLi - this article 将帮助您决定哪个。如果你选择 PDO,here is a good tutorial. -
但是我已经习惯了.. 使用mysql_*有什么问题?先生,您能帮我解决我的问题吗?
-
推理可以在他评论中提供的教程中找到。
-
我会读的,但是有人可以告诉我为什么没有工作吗?
-
为什么要查询相同的信息两次?您选择所有问题,然后在 for 循环中单独重新选择每个问题。使用旧的 mysql_* 函数你不能只使用 while 循环并使用 mysql_fetch_assoc
标签: html mysql arrays for-loop mysql-num-rows