2011-12-18 58 views
0
$check = mysql_query('SELECT * FROM course_completion_criteria GROUP BY module'); 

foreach($check as $c) 
{ 
    $module = $c->module; //echo $module; 
    if($module == 'quiz') 
    { 
     $query1 = mysql_query('SELECT * FROM table1');  
     echo '<table> 
      <th>Name</th> 
      <th>Time</th> 
     foreach($query1 as $q) 
     { 
     $name = $q->name; 
     $time = $q->time; 
     echo '<tr><td>'.$name.'</td> 
        <td>'.$time.'</td> 
       </tr>'; 
     } 
     echo '</table>'; 
    } 

    if($module == 'scorm') 
    { 
     $query2 = mysql_query('SELECT * FROM table2'); 
     echo '<table> 
      <th>Name</th> 
      <th>Time</th> 
     foreach($query1 as $q) 
     { 
     $name = $q->name; 
     $time = $q->time; 
     echo '<tr><td>'.$name.'</td> 
        <td>'.$time.'</td> 
       </tr>'; 
     } 
     echo '</table>'; 
    } 
} 

上述代码应工作 壳体1:如果$模块TEST1 情况2:如果$模块TEST2 情况3:如果$模块既TEST1和TEST2在PHP检索值时,MySQL

我的代码在CASE 3中不工作,它显示两个表格,但我想在同一个表格中显示两行 任何人都可以帮助我吗?

+1

$ $ module如何同时兼容“test1”和“test2”? – 2011-12-18 06:55:08

回答

0

你不必为情形3条件:

 
else { //for CASE3 
$query3 = mysql_query('SELECT * FROM table_you_want_data_from'); 
... 
} 
+0

嗨Sudhir,我们可以在上面的代码中做任何修改以获得CASE 3这里 – user1067018 2011-12-18 07:07:35

1

您至少有一个错误

if($module = 'test1') 

应该

if($module == 'test1') 

此外,在PHP

阅读开关/ case语句

UPD:案例3代码

$module = [] 
foreach($check as $c) 
{ 
    $module[] = $c->module; //echo $module; 
} 
if (count($module) == 1) { 
    if($module == 'quiz') 
    { 
    //CASE_1 
    } 

    if($module == 'scorm') 
    { 
    //CASE_2 
    } 
}else{ 
    //CASE_3 
} 
+0

但是这不是错误,可能在这里发布是错误的,我现在会纠正 – user1067018 2011-12-18 07:00:47

+0

hm然后我不明白什么意思CASE 3? $ module是一个字符串。字符串如何可以是test1和test2? – Ximik 2011-12-18 07:18:13

+0

这是在MOODLE。 Admin将在前端设置测验和scorm以完成课程,学生完成两门课程。现在Iam从条件表中获取活动的测验或scorm并检查它们Here Admin可以只设置测验/仅scorm /一个测验和一个scorm。我能够得到前两个输出,但在第三种情况下,Iam得到两个表,但需要一个表,有两个不同的行(测验,scorm) – user1067018 2011-12-18 07:30:13