php - sql中如何划分学生

标签 php mysql sql loops mysqli

我想将学生分组并存储在数据库中

students 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15.....20

示例: Total no.of students 20

每组 4 名学生(1、2、3、4 组 1 和 5、6、7、8 组 2 等......)

那么应该创建了5个组

我试过这样我在 for 循环中犯的错误。

$studentQuery = $conn->query("
select s.student_pid,i.email,s.student_email,s.student_fname,
s.student_lname,s.profile_pic from r_job_invitations i 
LEFT JOIN 
tbl_students s 
ON 
i.email = s.student_email 
where i.id_job = ".$jobID." and inv_res = 1");

$totalIndividuals    = mysqli_num_rows($studentQuery);
$groups = round($totalIndividuals/5,0,PHP_ROUND_HALF_DOWN);
   for ($j = 1; $j <= $groups; $j++) {
        for ($i = 0; $i <= $totalIndividuals; $i++) {
            $GroupsQuery = $conn->query("INSERT INTO 
                r_test_group (student_id,job_id,group_name) 
                values ('".$studentResults['student_pid']."',
                           '".$jobID."','Group'".$j." )");
        }
    }

最佳答案

$stuData = array();
while($studentResults = $studentQuery->fetch_array())   {
    $stuData[] = $studentResults;
}
$totalIndividuals    = mysqli_num_rows($studentQuery);
$groups = round($totalIndividuals/$gd_individuals,0,PHP_ROUND_HALF_DOWN);
$count=0;
for($j = 0; $j<$groups; $j++)   {
    for($i =0; $i< $gd_individuals; $i++)   {
        if($stuData[$count]['student_pid']) {
            echo "INSERT INTO r_test_group (student_id,job_id,group_name) values (".$stuData[$count]['student_pid'].", ".$jobID.",Group".$j." )";
            $count++;
        }
    }
}
exit;

第一个forloop就是分组。 第二个 forloop 是为学生除法。

关于php - sql中如何划分学生,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41332768/

相关文章:

sql - 首先运行 :joins or where clause

mysql - SQL选择满足条件的最大ID

php - 如何将 "add"和 "edit"形式组合成 1 "script"?

javascript - jQuery/Ajax 在警报中正确发送 "data-"值,但无法将其附加到 php 中的特定 div 中

php - ZF2 : Dependency Injection, MVC、配置和 Bootstrap

mysql - 用于处理搜索引擎中同义词的数据库结构

php - 如何使用 PHP 从 mysql 输出中删除换行符<br>

mysql - 列出两个日期之间的日期,并将与新日期关联的金额除以各自的日期和 ID R/PYTHON/EXCEL

vba中的SQL查询从上个月到第二个月

php - 我的浏览器节目的我的.php文件内容