从过去的几天开始,我在项目中创建了一个测验场景。我想要随机问题但是当我使用rand()函数时,问题正在重复。我也想通了,因为它是在同一页面上完成的,每次页面刷新时,都会再次选择随机数,从而导致这个缺陷!所以我考虑将最后一个随机que_id的值存储在一个会话中并生成如下查询:
enter code here <?php session_start();$jsqla=mysql_query("select que_id from mst_que");$jfeta=mysql_fetch_assoc($jsqla);session_start();$id=array($jfeta['id$_SESSION['id'][] = $id;$rs=mysql_query("SELECT * FROM `mst_que` WHERE que_id NOTIN ('id') ORDER BY RAND() ")
请帮帮我。我只想创建一个会话数组,我想存储以前生成的随机数,并在查询中使用它,以便不再重复。请
答案 0 :(得分:0)
尝试创建一个数组,然后将其分配给任何会话变量,例如:
$quizQuestions[] = $questionId;
$_SESSION['question'] = $quizQuestions;
如果您想要更新该值,只需获取它并分配新值并再次在同一变量中更新它:
$quizQuestions = $_SESSION['question'];
$quizQuestions[] = $questionId;
$_SESSION['question'] = $quizQuestions;
确保首先启动会话,将以下代码添加到此脚本的最开头:
if(!isset($_SESSION)) {
session_start();
}
答案 1 :(得分:0)
将其存储在变量中,并从问题数组中取消设置:
function get_question($questions)
{
$question = rand($questions);
$questionKey = array_search($question, $questions);
unset($questions[$questionKey]);
return $question;
}