当前位置: 代码迷 >> PHP >> php 循环异常
  详细解决方案

php 循环异常

热度:327   发布时间:2016-04-28 18:34:49.0
php 循环错误
<body>
<?php 
 include_once 'mysql.php';
 
 $C = "";
 $rownum = 5;          //每行要显示的车标数
 $picindex = 1;          //$picindex 车标序号
 $newrow = 0;            //是否换行 ,值为 1 时换行(换行即为要输入 <tr>,为 0 时不换行
 $logorst = mysqli_query($cnn,"select * from BandLogo where ShowOrder <> '0' ORDER BY ShowOrder ASC");
 
 ?><table border="1"><?php  
 while($row = mysqli_fetch_array($logorst)){
      if($picindex > $rownum){
         $picindex = 1;
         $newrow = 1;
      }         
      if($newrow == 1){         
         echo "<tr>";                  //输出 <tr> 即为 换行         
      } ?>    
      <td>     
        <table><tr><td>              <?php //定义一个小的表格,只有两个格子,上面一个格子放图片,下面一个格子放名称  ?>
           <?php echo $picindex ?>
           <a href="qps_showqpslist.php?tag=<?php echo $row['Name'] ?>"><div align="center"><img src=" <?php echo $row['FileName'] ?> "/></div></a>
        </td></tr><tr><td>
          <a href="qps_showqpslist.php?tag=<?php echo $row['Name'] ?>"><div align="center"><?php echo $row['Name']; ?></div></a>         
        </td></tr></table>            
      </td><?php 
      if($newrow == 1){
         echo "</tr>";
         $newrow = 0;
      }    
      $picindex++;                  
}
 ?></table>    
</body>




上面的代码想要每行显示5个图标,但是从第二行开始,就会在第一个图片显示了之后换行,请帮我看看那里有错误呢,谢谢了
------解决方案--------------------
你的
      if($newrow == 1){         
         echo "<tr>";                  //输出 <tr> 即为 换行         
      }
     if($newrow == 1){
         echo "</tr>";
         $newrow = 0;
      }    
是在一次循环中完成的,自然那行就只有一个单元格了
------解决方案--------------------
标签不完整
if($picindex > $rownum){
         $picindex = 1;
         $newrow = 1;
      }   

前五次$picindex 肯定小于$rownum ,也就是说刚开始并没有<tr>的开始标签
------解决方案--------------------
循环里面改为
      if($picindex > $rownum){
         $picindex = 1;
      }         
      if($picindex == 1){         
         echo "<tr>";                  //输出 <tr> 即为 换行         
      } ?>    
      <td>     
        <table><tr><td>              <?php //定义一个小的表格,只有两个格子,上面一个格子放图片,下面一个格子放名称  ?>
  相关解决方案