本文目录一览:
- PHP考试系统怎么实现在同一页面提交后,实现随机出题,并保证提交后,不再随机,要求试题和答案保持一致
- 题库有600题,我想随机选其中的100道,这100道不能重复, 算法
- 用phpmysql做一个题库系统,随机抽取五百题左右生成考试卷,最有效率的做法是什么?
- PHP考试系统怎么实现随机出卷,并且提交是同一页面,提交后给出题目与对应答案的对错情况。主要是怎么在
- PHP 考试系统怎么生成随机试题,求代码写法.以选择题为例说明一下就行,假如从10个里抽3个,怎么在提交之
- 用PHP做一个答题系统。求救啊~~~~
PHP考试系统怎么实现在同一页面提交后,实现随机出题,并保证提交后,不再随机,要求试题和答案保持一致
- 用
session
保存答过的题目 ID。 - 每次选题前,先从
session
中取出已答题目 ID,与所有题目 ID 做一个差集(array_diff()
)。 - 新的题目从这个差集中随机选取。
- 试题和答案的对应关系通过题目 ID 关联。
题库有600题,我想随机选其中的100道,这100道不能重复, 算法
- 将 600 题放在数组中,调用
shuffle()
函数将数组打乱,取前 100 项即可。 - 打乱算法示例:
for ($i = 0; $i < 600; ++$i) {
$a = $myarray[$i];
$j = rand($i, 599);
$myarray[$i] = $myarray[$j];
$myarray[$j] = $a;
}
用php+mysql做一个题库系统,随机抽取五百题左右生成考试卷,最有效率的做法是什么?
- 使用
array_rand()
随机抽取 500 个 ID,然后查询WHERE id IN (数组)
。 - 或者在数据库中使用随机排序,例如:
SELECT * FROM table ORDER BY RAND() LIMIT 500;
- 如果并发量大,建议将题目 ID 存入数组,随机选取后查询数据库。
PHP考试系统怎么实现随机出卷,并且提交是同一页面,提交后给出题目与对应答案的对错情况。主要是怎么在
- 并发访问量不大时,生成题目时同时生成答案,并将答案写入
$_SESSION
。 - 并发访问量大时,为每道题目分配 ID,提交时将 ID 和答案一并提交,根据 ID 到数据库中比对。
- 如果是练习系统,可将答案加密后写入 Cookie,提交时返回服务器验证。
PHP 考试系统怎么生成随机试题,求代码写法.以选择题为例说明一下就行,假如从10个里抽3个,怎么在提交之
示例代码如下:
<?php
$query = mysql_query("SELECT * FROM 表名");
$results = mysql_fetch_row($query);
$rand = array_rand($results, 3); // 取出随机的三个键值
$questions = array($results[$rand[0]], $results[$rand[1]], $results[$rand[2]]); // 放入新数组
?>
<form action="当前页面" method="post">
<?php foreach ($questions as $value): ?>
<?php $options = explode(";", $value['options']); ?>
<?= $value['questions'] ?>
<?php for ($i = 0; $i < count($options); $i++): ?>
<input type="radio" name="<?= $value['id'] ?>" value="<?= chr(65 + $i) ?>" /> <?= $options[$i] ?><br />
<?php endfor; ?>
----------------------------------------<br />
<?php endforeach; ?>
<input type="submit" value="提交" />
</form>
<?php
if (!empty($_POST)) {
foreach ($_POST as $key => $data) {
$question_id = $key;
$user_choice = $data;
$result = mysql_query("SELECT * FROM 表名 WHERE id = $key AND right_answer = '$data'");
if ($result) {
// 答案正确处理
} else {
// 答案错误处理
}
}
}
?>
注意:以上代码为示例,可能存在语法错误,需根据实际情况调整。
用PHP做一个答题系统。求救啊~~~~
- 设置 HTML 页面,通过 POST 获取用户答案并与正确答案对比,正确则分数加 1,最终统计总分即可。