用foreach如何进行表格输出?
数据库中的数据是(以下是一个学生的选课信息)
我在页面中
$course=$row['course_id'];
$sql="select * from think_course where id='$course'";
$result=mysql_query($sql);
$row =mysql_fetch_array($result);
取出了数据库中的数据,现在我想用foreach来进行输出以下的形式
<td>no</td><td>name</td><td>teacher_name</td><td>place</td><td>time</td>
在页面中输出的形式是foreach要怎么写,新手刚学SQL操作希望各位指教指教,能够贴上代码的话更好。
数据库SQLMySQL行业数据select

解决方案 »

  1.   

    这个不是MYSQL中的问题啊。是PHP中的问题。帮你转到PHP版咨询一下。
      

  2.   

    这和foreach 这是需要页面处理结果集
      

  3.   

    sql中列出你需要的字段,否则用 foreach会输出全部字段的。
    $sql="select no,name,teacher_name,place ,time,credit from think_course where id='$course'";
    $result=mysql_query($sql);
    $row =mysql_fetch_row($result);
    echo "<tr>";
    foreach($row as $v) echo "<td>$v</td>";
    echo "</tr>";
      

  4.   


    在SQL中列出太麻烦了,字段少还好说。如果是有几十个字段那不累死。还有我是想实现图片上的效果不是你这个不能实现吧?
    我自己打了下代码后但是只是输出了一条而已
    我的代码如下 $sql="select * from think_course where id='$course'";
              $result=mysql_query($sql);
              while ($row=mysql_fetch_array($result)){
                  $list[]=$row;
                  foreach($list as $v){
                      echo "<td>".$v['no']."</td>"."<td>".$v['name']."</td>"."<td>".$v['teacher_name']."</td>".
                          "<td>".$v['place']."</td>"."<td>".$v['time']."</td>"."<td>".$v['credit']."</td>";
              }}
    我现在是想打印出像图片上的一样有两条数据的
      

  5.   

    啊,对,好像在前面就出错了。我的需求是这样的,在selected表中通过查询到stu的所有选课信息的id值,然后根据这些ID值查找course表中的数据。按表格形式输出
    $stu=$_SESSION['userid'];
          $sql="select * from think_selected where stu_id=$stu";
          $result=mysql_query($sql);
          $row=mysql_fetch_array($result);
          if(!$row)
          echo"暂无选课信息";
          else{          $course=$row['course_id'];
              echo $course;
              $sql="select * from think_course where id='$course'";
              $result=mysql_query($sql);
              while ($row=mysql_fetch_array($result)){
                  $list[]=$row;
                  foreach($list as $v){                  echo "<td>".$v['no']."</td>"."<td>".$v['name']."</td>"."<td>".$v['teacher_name']."</td>".
                          "<td>".$v['place']."</td>"."<td>".$v['time']."</td>"."<td>".$v['credit']."</td>";
                  }}
      

  6.   

    $sql="select * from think_selected where stu_id=$stu";
    这句会出现多条吗?在 $row=mysql_fetch_array($result); 这句外面加个while试试
      

  7.   

    恩应该是这里出错了但是while的话是不是要把后面的操作全包含进去?哎该死的机子坏了,让人拿去修了,用另外一台测试不了
      

  8.   

    不行噢,我输出了一下添加进去了还是不行还是只能输出一个值
    <?php
          error_reporting(0);
          mysql_select_db($mysql_database);
          mysql_query("set names utf8");
          $stu=$_SESSION['userid'];
          $sql="select * from think_selected where stu_id=$stu";
          $result=mysql_query($sql);
          while($row=mysql_fetch_array($result)){
              if(!$row)
              echo"暂无选课信息";
              else{
              $tip[]=$row;
              foreach($tip as $as){                  $course=$as['course_id'];
                      $sql="select * from think_course where id='$course'";
                      $result=mysql_query($sql);
                      while ($row=mysql_fetch_array($result)){
                          $list[]=$row;
                          foreach($list as $v){
                              echo $v['name'];
                          }}              }
              }
          }      ?>
      

  9.   

    外层(7行) $result=mysql_query($sql);
    内层(17行) $result=mysql_query($sql);
    内层的 $result 把外层的覆盖了