首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在php在线考试系统中使用rand命令时,问题会重复出现。

在php在线考试系统中使用rand命令时,问题会重复出现。
EN

Stack Overflow用户
提问于 2018-05-14 12:24:37
回答 2查看 52关注 0票数 0

在php在线考试系统中使用rand命令时,问题会重复出现。

代码语言:javascript
复制
if(isset($_SESSION['stdname'])){
    $result=executeQuery("select stdanswer,answered from studentquestion where stdid=".$_SESSION['stdid']." and testid=".$_SESSION['testid']." and qnid=".$_SESSION['qn'].";");
    $r1=mysql_fetch_array($result);
    $result=executeQuery("select * from question where testid=".$_SESSION['testid']." and qnid=".$_SESSION['qn']."order by rand();");
    $r=mysql_fetch_array($result);
EN

回答 2

Stack Overflow用户

发布于 2018-05-14 12:45:39

在查询中使用关键字DISTINCT

代码语言:javascript
复制
$result=executeQuery("select DISTINCT * from question where testid=".$_SESSION['testid']." and qnid=".$_SESSION['qn']." order by rand();");

此外,mysql_*也已弃用。关注@Magnus的评论

票数 0
EN

Stack Overflow用户

发布于 2018-05-14 12:58:55

不要在查询中使用"ORDER BY RAND“,而是抓取所有可能的问题。将问题放入数组后,使用shuffle()函数(http://php.net/manual/en/function.shuffle.php)随机化问题。然后,您需要做的就是使用for循环来获取所需数量的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50323075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档