重复这个过程,直到满足一个条件


repeat process until a condition is met

我正在检查要分配的课程和已经分配到时间段的课程中是否有常见的学生。

$chkcommsa = mysql_query("
    SELECT student.matric, student.std_name FROM student
    JOIN course_reg e1 ON e1.matric=student.matric
    JOIN course c1 ON c1.course_code=e1.course_code
    JOIN course_reg e2 ON e2.matric=student.matric
    JOIN course c2 on c2.course_code = e2.course_code
    WHERE c1.course_code = '".$currentass."' AND c2.course_code RLIKE '%$docamat%'
    GROUP BY student.matric") or die(mysql_error());
$num_rowea = mysql_num_rows($chkcommsa);
if($num_rowea >= 1) {
    $t_slot_times = $t_slot_time + 1;
}

如果$t_slot_times = 2,查询当前分配的课程($currentass)和所有已经分配到时隙2的课程($docamat)之间的普通学生,如果是普通学生,系统将时隙增加1到3。

如果$t_slot_times为3,我希望系统再次检查新分配的课程与已分配到3课时的其他课程之间是否有普通学生。我只想在$t_slot_times上重复查询,直到查询返回0结果。

根据您的问题,使用以下逻辑并在循环中添加您希望添加的查询,如果$t_slot_times为2,当$t_slot_times为3

if($num_rowea >= 1) {
    $t_slot_times = $t_slot_time + 1;
    for ($i = 1;$i<=20;$i++)
    {
      //code here
     }
}