limit 0, 16会得到16条数据,但是数据库里面没有16的数据的时候你就要注意了!

解决方案 »

  1.   

    其实完全可以不用表格来做.
    你可以用ul li来配合生成,
    设置ul的宽度和li宽度,
    当然img的宽度高度以及border的设置你可以自行调整.记得 img(宽度+padding+border宽度)*4 小于等于ul的宽度#photo ul { 
      list-style: none;width:560px;
    }
    #photo ul li { 
     display: inline;
    }
    #photo ul img {
      border: 5px solid #3e3e3e;
      border-width: 5px 5px 10px;
      width:120px;
      height:120px;
    }http://blog.sevenight.com/index.php?m=photo&a=show&pid=4
      

  2.   

    html代码显示的时候应该是
    <table>
    <tr><td></td><td></td><td></td><td></td></tr>
    <tr><td></td><td></td><td></td><td></td></tr>
    <tr><td></td><td></td><td></td><td></td></tr>
    <tr><td></td><td></td><td></td><td></td></tr>
    </table>
    那么你怎么来处理呢,大致思路如下
     
    没有环境,没有测试,你自己试试吧!echo "<table>";
    int $i = 1;
    while($row = mysql_fetch_assoc($result) || $i < 16)
    {
        if ($i % 4 == 1)  // 每次除4余1的时候输出<tr>
           echo "<tr>";
        echo "<td>";
        // 这里做数据的处理
         if ($row) // 长时间不做php了,不知道这样是否可行
         {
             echo $row["imgpath"];  // 图片填充
        }
        else
            echo "&nbsp;";// 空格填充
        echo "</td>";
        if ($i % 4 == 0) // 整除4的时候输出 </tr>
           echo "</tr>";
    }
    echo "</table>";
      

  3.   

    while 结束的时候还有个 $i++; 给忘了,要不然就是死循环了,呵呵!
      

  4.   

    html代码显示的时候应该是 
    <table> 
    <tr> <td> </td> <td> </td> <td> </td> <td> </td> </tr> 
    <tr> <td> </td> <td> </td> <td> </td> <td> </td> </tr> 
    <tr> <td> </td> <td> </td> <td> </td> <td> </td> </tr> 
    <tr> <td> </td> <td> </td> <td> </td> <td> </td> </tr> 
    </table> 
    那么你怎么来处理呢,大致思路如下 没有环境,没有测试,你自己试试吧! echo " <table>"; 
    int $i = 1; 
    while($row = mysql_fetch_assoc($result) || $i < 16) 

        if ($i % 4 == 1)  // 每次除4余1的时候输出 <tr> 
          echo " <tr>"; 
        echo " <td>"; 
        // 这里做数据的处理 
        if ($row) // 长时间不做php了,不知道这样是否可行 
        { 
            echo $row["imgpath"];  // 图片填充 
        } 
        else 
            echo "&nbsp;";// 空格填充 
        echo " </td>"; 
        if ($i % 4 == 0) // 整除4的时候输出 </tr> 
          echo " </tr>"; 
        $i++;
    }如果你只取前16,那么这个应该可以,如果要全部显示,这个还需要修改一下。每行4个这个算法应股是可以实现的!
    echo " </table>";
      

  5.   

    最简单的办法,DIV+CSS, float:left   ,直接循环16次就好。
    <style>
    .box{width:500px;}
    .box img{float:left;border:5px solid #fff;}
    </style>
    <div class=box>
    <?php
       $i = 0;
       while($row = mysql_fetch_assoc($result) || $i < 16){
             echo("<img src='图片地址' width=100 height=100 />")
       $i++;
    }
    ?>
    </div>