2015-05-16 9 views
1

Я пытаюсь проверить обычных студентов среди курсов, которые будут назначены, и курсов, уже назначенных для временных интервалов.Повторяйте процесс до тех пор, пока не будет выполнено условие

$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) должны быть назначены и всеми других курсов ($docamat) уже присвоенных временным интервал 2, если общие студенты, система увеличивают временную интервал от одного до 3.

Если $t_slot_times - это 3, я хочу, чтобы система снова проверила обычных студентов между новым курсом и другими курсами, уже назначенными для временного интервала 3. Я просто хочу повторить запрос по $t_slot_times до тех пор, пока запрос возвращает результат 0.

+0

для (я = 0; я <= slottimes; i ++) {'run_your_query_code'}? .. –

ответ

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 
    } 

} 
+0

Спасибо, но $ t_slot_times - это не только 2 и 3, он может меняться на что-либо случайным образом между 1-20 на основе предыдущих инструкций во всем коде. Кроме того, я имею в виду, что мне нужно снова повторить запрос в цикле после использования его перед этим if ($ num_rowea> = 1) { – Yommy

+0

Обратите внимание, что новый '$ t_slot_times' используется в этом запросе ниже, чтобы получить уже пройденные курсы Эти курсы хранятся в «$ docama», который будет использоваться в нашем старом запросе в исходном вопросе. '$ queuen = mysql_query ("SELECT * FROM put_exam WHERE sess_id ='". $ t_slot_times. "'") или die (mysql_error()); $ arrDatasa = array(); while ($ rowsa = mysql_fetch_array ($ queuen)) { 10 $ arrDatasa [] = $ rowsa ['course_code']. '|'; \t $ docam = array_filter ($ arrDatasa); } foreach ($ arrDatasa as $ a => $ rowsa) { $ docama. = $ Docam [$ a]; } ' – Yommy

+0

@Yommy, проверьте мой обновленный ответ, теперь вы можете делать что угодно до 20 циклов, вы можете заменить это 20 динамически купленным значением. –

Смежные вопросы