gpt4 book ai didi

php - 根据成绩从数据库中随机分组学生

转载 作者:行者123 更新时间:2023-11-30 23:38:27 24 4
gpt4 key购买 nike

我有一张 table ,里面有 30 名学生,成绩从 1 到 5。如何将 6 个不同的学生分组,其中包含 5 个随机选择的学生?每组必须有 5 名学生,这 5 名学生中的每一个都必须有不同的年级。

第一组:student1 (grade1), student2 (grade2), student3 (grade3), student4 (grade4), student5 (grade5)

最佳答案

从表中提取数据,将结果按年级分组,因此您有 array('Grade1' => array('Student1','Student2','etc.'), 'Grade2 ' => array('Student3','Student4','etc)) 等等。随机化子数组,如:

foreach($students as $key=>$student)
{
shuffle($students[$key]);
}

然后你可以遍历数组,所以 $group[0] 将 = to array($students['Grade1'][0],$students['Grade2' ][0],$students['Grade3'][0],etc.) 这可以通过 for() 循环完成。

您可以通过执行以下操作来随机化和限制 SQL 查询中的结果来完成大部分工作:

"SELECT * FROM `Students` WHERE `Grade` = 'Grade1' ORDER BY RAND() LIMIT 6"

从该年级开始的表格中获得 6 个随机排序的结果。当然,这需要对每个年级进行单独的 SQL 查询。可能有一种方法可以在单个查询中为每个年级获得 6 个随机结果。

我还假设同一个学生不能在两个不同的组中,并且每个组中有相同的学生。如果他们不均匀,并且他们可以在多个小组中,那么您必须从年级中随机选择一名学生来填补空缺,这可以通过类似 $students[' GradeX'][mt_rand(0,count($students['GradeX']) - 1)]

关于php - 根据成绩从数据库中随机分组学生,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5525159/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com