Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 重复此过程,直到满足条件_Php_Mysql_While Loop_Iteration_Do While - Fatal编程技术网

Php 重复此过程,直到满足条件

Php 重复此过程,直到满足条件,php,mysql,while-loop,iteration,do-while,Php,Mysql,While Loop,Iteration,Do While,我试图在要分配的课程和已经分配到时间段的课程中检查普通学生 $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.matr

我试图在要分配的课程和已经分配到时间段的课程中检查普通学生

$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\u slot\u times
为2,则查询检查要分配的当前课程($currentass)和已分配给时隙2的所有其他课程(
$docamat
)之间的普通学生,如果普通学生,则系统将时隙增加1到3


如果
$t_slot_times
为3,我希望系统再次检查要分配的新课程和已分配到时间段3的其他课程之间的普通学生。我只想在
$t\u slot\u times
上重复查询,直到查询返回0结果。

根据您的问题,使用以下逻辑,将您的查询添加到您希望添加的循环中,如果$t\u slot\u times为2,而$t\u slot\u times为3

if($num_rowea >= 1) {
    $t_slot_times = $t_slot_time + 1;

    for ($i = 1;$i<=20;$i++)
    {
      //code here
     }

}
如果($num\u rowea>=1){
$t_slot_times=$t_slot_time+1;

对于($i=1;$ifor(i=0;iThanks,但$t_slot_times不仅仅是2和3),它可以根据整个代码中以前的指令随机更改为1-20之间的任何值。您的意思是,在使用将查询放在if($num_rowea>=1)之前之后,我必须在循环中再次重复查询吗{请注意,下面的查询中使用了新的“$t_slot_times”来获取已经分配给它的课程,这些课程存储在“$docama”中,这将在我们最初的问题中的旧查询中使用。“$queuen=mysql_query(“SELECT*FROM put_-exam,其中sess_id=”“$t_slot_times.””)或die(mysql_error());$arrDatasa=array();而($rowsa=mysql_fetch_array($queuen)){$arrDatasa[]=$rowsa['course_code'..''.\124;';$docam=array_filter($arrDatasa);}foreach($arrDatasa as$a=>rowsa){$docama=$docam[$a];}Yommy,检查我更新的答案现在你可以做任何事情,直到20个循环,你可以用动态购买的值替换那20个循环。