【问题标题】:multisort for marks and gpa标记和 gpa 的多重排序
【发布时间】:2014-01-31 03:08:12
【问题描述】:

我正在尝试生成学生表格。如何根据分数和 GPA(降序)显示学生详细信息和排名。目前我可以使用以下代码通过 Marks 或 GPA 显示:

 arsort($myGpa);
    foreach($myGpa as $x=>$myValue)
     { 
      ?>
      <tr>
        <td><?php echo $sn++; ?></td>

       <td><?php echo $myName[$x]; ?></td>
      <td><?php echo $myCadet[$x]; ?></td>

      <td><?php echo $myTotal[$x]; ?></td>
      <td><?php echo $myGrade[$x]; ?></td>
    <td><?php echo number_format($myValue,2); ?> </td>
    <td><?php //$position++;  
         $myposition = $position++;
         if($myposition == '1') { echo '1st'; }
        else if($myposition == '2') { echo '2nd'; }
        else if($myposition == '3') { echo '3rd'; }
         else echo $myposition.'th';

     ?> </td>   

     </tr>

另一件事是:如果分数和 gpa 相同,那么如何显示位置? 提前致谢。

【问题讨论】:

  • 你能发布更多你的代码吗? myName,... 设置在哪里?您可能应该使用多重排序在更高级别上进行排序。另外对于 gpa 或分数排名更重要的是什么?

标签: php sorting ranking


【解决方案1】:

实际上.. 我想根据分数和 gpa 对学生进行排序。目前我的输出如下:

总分 - 成绩 - GPA - 位置
813 - A - 4.50 - 1
819 - A - 4.44 - 2
779 - A - 4.31 - 3
826 - A - 4.31 - 4

但正如您所见,有 2 名学生的 gpa (4.31) 相同,但分数不同。我希望 在 gpa 相同时对标记进行排序。也就是说,如果两个学生的gpa相同,那么这个位置将根据分数来计算。

目前我正在使用以下代码(仅按 GPA 排序)

 $myName[] = $student_name['name'];
             $myCadet[] = $stud['cadet_no'];
             $myTotal[] = $all_total;
             $myGrade[] = $final_grade;
             $myGpa[] = $final_gpa;
arsort($myGpa);
foreach($myGpa as $x=>$myValue)
 { 
  ?>
  <tr>
    <td><?php echo $sn++; ?></td>

   <td><?php echo $myName[$x]; ?></td>
  <td><?php echo $myCadet[$x]; ?></td>

  <td><?php echo $myTotal[$x]; ?></td>
  <td><?php echo $myGrade[$x]; ?></td>
<td><?php echo number_format($myValue,2); ?> </td>
<td><?php //$position++;  
     $myposition = $position++;
     if($myposition == '1') { echo '1st'; }
    else if($myposition == '2') { echo '2nd'; }
    else if($myposition == '3') { echo '3rd'; }
     else echo $myposition.'th';

 ?> </td>   

 </tr>

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多