最直接的方法,二重嵌套循环!(伪代码)
foreach survey:
 echo survey question;
 forach answer in current survey:
   echo answer;
 endforeach;
endforeach;
当然可以使用外连接避免N+1 Select问题

解决方案 »

  1.   

    谢谢楼上的,怎么用代码描述!刚刚学习PHP!
      

  2.   

    嵌套循环,基本功~~~while ($rt = mysql_fetch_array($query)){ while ($rt = mysql_fetch_array($query)){
                   
    }
    }
      

  3.   

    SQL指令
    select SURVEY_QUESTION.S_Id, S_Question_Title,  S_Answer from SURVEY_QUESTION, SURVEY_QUESTION where SURVEY_QUESTION.S_Id=SURVEY_QUESTION.S_Id执行后将得到这样的结果:
    S_Id      S_Question_Title       S_Answer 
    1         1.评估结构组织形式        A.有限责制
    1         1.评估结构组织形式        B.合伙制
    2         2.评估机构职业资格是      A.具备证券资格
    2         2.评估机构职业资格是      B.不具备证券资格假定使用的是mysql数据库,查询结果资源为$rs.则
    $st = 0;
    while($row = mysql_fetch_assoc($rs)) {
      if($st != $row['S_Id']) {
        echo '<br>' . $row['S_Question_Title'] . '<br>';
        $st = $row['S_id'];
      }
      echo $row['S_Answer'] . ' ';
    }
      

  4.   

    我想得到这样显示:        1.评估结构的组织形式是 
                                      A.有限责制  B.合伙制 
                              2.评估机构职业资格是 
                                  A.具备证券资格  B.不具备证券资格我想把这些从数据库里面提取到的数据通过模板显示出来,这是我写的:
      
     while($r=$db->fetch_array($result))
       
         {

         $tpl->set_var('l');
     $tpl->set_var('S_Question_Title'.$i,$r[0]);
     
    foreach($r as $k => $v)
      {
      
    $tpl->set_var('S_Answer'.$i,$r[1]);
    $tpl->set_var('l');
    $tpl->parse("l","tList",true);//注意记住parse 在循环内
      
      }
       $i++;
       }
    但是现在显示的这样: 1.评估结构的组织形式 
     
          A.有限责任制  B.合伙制 
     
     2.评估结构的组织形式       A.具备证券评估资格  B.不具备证券评估资格 等于说你两个问题的重复了,第二个问题应该是:2.评估机构职业资格