【发布时间】:2017-05-11 12:55:02
【问题描述】:
如何分隔学生并使用两个嵌套的for循环来存储数据..?
$jobID = 85
$gd_individuals = 4 ;
$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");
//$studentResults = $studentQuery->fetch_assoc(); //total 8 students
$totalIndividuals = mysqli_num_rows($studentQuery); //total 8 students
$groups = 2 //which is coming from total/gd_individual 8/4=2
for($j = 0; $j<$groups; $j++) {
while($studentResults = $studentQuery->fetch_array()){ //total 8 studnets
echo "INSERT INTO r_test_group
(student_id,job_id,group_name)
values (".$studentResults['student_pid'].", ".$jobID.",Group".$j." )";
}
}
exit;
}
我想将前 4 个学生存储为 group1,将后 4 个学生存储为 group2 等等。
我的结果是这样来的
INSERT INTO r_test_group (student_id,job_id,group_name) values (22, 85,Group0 )
INSERT INTO r_test_group(student_id,job_id,group_name) values (23, 85,Group0 )
INSERT INTO r_test_group (student_id,job_id,group_name) values (25, 85,Group0 )
INSERT INTO r_test_group (student_id,job_id,group_name) values (26, 85,Group0)
INSERT INTO r_test_group (student_id,job_id,group_name) values (27, 85,Group0 )
INSERT INTO r_test_group(student_id,job_id,group_name) values (28, 85,Group0 )
INSERT INTO r_test_group (student_id,job_id,group_name) values (29, 85,Group0 )
我正在寻找的实际结果是前 4 个学生是 group1 和 第二个 4 组 2 等等......
【问题讨论】:
-
您的 PHP 代码已满或错误。有很多遗漏的
;,例如在第 1 行。你应该先看看这个。 -
尝试使用
$variable为每个学生增加,直到它达到 4 然后另一个$variable在第一个达到 4 后增加1(代表组号)并触发第一个$variable重置为0 -
为什么要“存储”这个?只需即时计算即可
-
@Strawberry 即使在那种情况下我也必须遵循相同的标准..?
标签: php mysql sql for-loop nested-loops