加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 按最高到最低排序考试结果

发布时间:2020-12-13 21:33:09 所属栏目:PHP教程 来源:网络整理
导读:我为我的学生做了一个简单的基于 PHP的考试. 结果在数据库中记录为“q1”,“q2”,“q3”,“q4”和“q5”. 正确答案记录为“是”,错误答案记录为“否”. 有5个问题,我希望总分为100分. 所有的功能都按照我的意愿运行,但问题是,我不知道如何将结果从高到低排序
我为我的学生做了一个简单的基于 PHP的考试.
结果在数据库中记录为“q1”,“q2”,“q3”,“q4”和“q5”.

正确答案记录为“是”,错误答案记录为“否”.

有5个问题,我希望总分为100分.

所有的功能都按照我的意愿运行,但问题是,我不知道如何将结果从高到低排序.任何帮助都非常感谢!

$result = mysqli_query($db,"SELECT * FROM table");
while($row = mysqli_fetch_array($result)){
    $score = 0;
    echo '<img alt="'.$row["name"].'" src="images/'.$row["name"].'.jpg"         width="118" height="158"';
    if ($row["q1"] === "yes") {$score=$score+20;}
    if ($row["q2"] === "yes") {$score=$score+20;}
    if ($row["q3"] === "yes") {$score=$score+20;}
    if ($row["q4"] === "yes") {$score=$score+20;}
    if ($row["q5"] === "yes") {$score=$score+20;}
    echo ' /> '.$row["name"] . ' ' . $score;
}

解决方法

而不是while和inner if,你可以使用结果列的select和order来完成所有操作,例如:

select name,if(q1='yes',20,0) +
          if(q2='yes',0) +
          if(q3='yes',0) +
          if(q4='yes',0) +
          if(q5='yes',0) result  
  from  table 
  order by result desc

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读