数据里分4个大类,然后每个大类下面还有若干小类,我想用while嵌套while输出
大类名称
  小类名称
  小类名称
  小类名称
大类名称
  小类名称
  小类名称
  小类名称

但是下面代码的结果是只返回第一个大类及其小类的内容,其他无法输出,请问下面的代码有什么问题吗?或者不用while嵌套while,请高手指教<ul class="list">
<?php          //图书大分类
  $str="select t_id,t_name from booktype order by t_id";
  $result=mysql_query($str);
  while($row=mysql_fetch_array($result)){
?>
   <li>
     <a href="selection.php?id=<?php echo $row['t_id'];?>">
       <?php echo $row['t_name'];?>
     </a>
   </li>
          
   <ul class="list">
   <?php           //图书小分类
     $str="select t_little_id,t_little_name from booktype where t_id=".$row['t_id']." order by t_little_id";
     $result=mysql_query($str);
     while($row=mysql_fetch_array($result)){
   ?>
     &nbsp;&nbsp;
     <li>
       <a href="selection.php?id=<?php echo $row['t_little_id'];?>">
         <?php echo $row['t_little_name'];?>
       </a>
     </li>
     <?php
  }
     ?>
       </ul>
          
     <?php
       }
     ?>
     </ul>

解决方案 »

  1.   

    那么多变量都重用,当然不行
    <ul class="list">
    <?php          //图书大分类
      $str="select t_id,t_name from booktype order by t_id";
      $result1=mysql_query($str);
      while($row1=mysql_fetch_array($result1)){
    ?>
       <li>
         <a href="selection.php?id=<?php echo $row1['t_id'];?>">
           <?php echo $row1['t_name'];?>
         </a>
       </li>
              
       <ul class="list">
       <?php           //图书小分类
         $str="select t_little_id,t_little_name from booktype where t_id=".$row1['t_id']." order by t_little_id";
         $result2=mysql_query($str);
         while($row2=mysql_fetch_array($result2)){
       ?>
         &nbsp;&nbsp;
         <li>
           <a href="selection.php?id=<?php echo $row2['t_little_id'];?>">
             <?php echo $row2['t_little_name'];?>
           </a>
         </li>
         <?php
          }
         ?>
           </ul>
              
         <?php
           }
         ?>
         </ul>
      

  2.   

    <ul class="list">
    <?php          //图书大分类
      $str="select t_id,t_name from booktype order by t_id";
      $result=mysql_query($str);
      while($row=mysql_fetch_array($result)){
    ?>
       <li>
         <a href="selection.php?id=<?php echo $row['t_id'];?>">
           <?php echo $row['t_name'];?>
         </a>
       </li>
              
       <ul class="list">
       <?php           //图书小分类
         $str="select t_little_id,t_little_name from booktype where t_id=".$row['t_id']." order by t_little_id";
         $result=mysql_query($str);
         while($row=mysql_fetch_array($result)){
       ?>
         &nbsp;&nbsp;
         <li>
           <a href="selection.php?id=<?php echo $row['t_little_id'];?>">
             <?php echo $row['t_little_name'];?>
           </a>
         </li>
         <?php
          }
         ?>
           </ul>
              
         <?php
           }
         ?>
         </ul>代码中的这句 $result 换个名字。两个记录集用一个。当然大分类不会再次循环了。大分类的记住集被小分类给取代了。