$i=0;
while($rs=mysql_fetch_object($query)){
if($i==0){
   echo "<tr>";
}
if($i==3){
   echo "</tr>";
   $i=0;
   continue;
}
echo "<td>".$rs->id."</td>";
$i++;
}

解决方案 »

  1.   

    <html>
    <body>
    <table>
    <tr>
    <?
        $i = 0
        while($row = mysql_fetch_array($rs))
        {
          if($i%3==0&&$i>0)
             echo "</tr><tr>";
           echo "<td>".$row["title"]."</td>";
          $i++;
        }
    ?>
    </tr>
    </table>
    <body>
    </html>
      

  2.   

    do not use my codes,it has bugs.
      

  3.   

    <?
        $i = 0;
        while($row = mysql_fetch_array($rs))
        {
          if($i%3==0&&$i>0)
             echo "</tr><tr>";
           echo "<td>".$row["title"]."</td>";
          $i++;
        }
    ?>
      

  4.   

    <?php
    $num=@mysql_num_rows[$result];
    $line=3;//每行显示的数据条树
    $c=ceil($num/$line);
    echo "<table>";
    for ($i=0;$i<$c;$i++)
       {
       echo "<tr>";
       for ($k=0;$k<$line;$k++)
          {
          echo "<td>";
          if ($row=@mysql_fetch_array($result))
             {
             echo $row[''];
             }
          echo "</td>";
          }
       echo "</tr>";
       }
    echo "</table>";
    ?>
      

  5.   

    没有看清楚 是一行三个$row,而不是一行三列。
      

  6.   

    <?$sql22="select * from lfj_sort where fid='$row_board[id]' ";
    $result22=mysql_query($sql22,$conn);
    $num=mysql_num_rows($result22);
    $line=3;//每行显示的数据条树
    $c=ceil($num/$line);echo "<tr>";
    for ($i=0;$i<$c;$i++)
       {
     echo "<td>";   
       for ($k=0;$k<$line;$k++)
          {
         
          if ($row=mysql_fetch_array($result22))
             {
     echo"丨";
             echo $row[name];
             }
          }
        echo "</td>";
     echo "</tr><tr>";
       }
     
    ?>
      

  7.   

    谢谢各位回贴,但无法实现
    我的数据表结构是a1,a2,a3......a60;
    $sql=mysql_query("SELECT * FROM a")
    while ($a_tab=mysql_fetch_array($sql)) {
    我想使查询结果显示为:
        a1 a2 a3
        a4 a5 a6
        ........
       a58 a59 a60
      

  8.   

    while ($a_tab=mysql_fetch_array($sql)) {
      foreach(array_chunt($a_tab, 3) as $row) {
        echo '<tr>';
        foreach($row as $col) {
          echo "<td>$col</td>";
        }
        echo '</tr>';
      }
    }
      

  9.   

    唠叨大哥:你的代码也报错:
    Fatal error: Call to undefined function: array_chunt() in
      

  10.   

    $i=0;
    while ($a_tab=mysql_fetch_array($sql)) {
          if($i%3==0){
           echo "<tr>";
          }
          .................
          if($i%3==2){
           echo "</tr>";
          }
    $i++;
      

  11.   

    还是不行。这样读出的结果是每条记录都显示两次。可能是我说得不太清楚。我想通过一个简单的例子。
    <?php
    echo "<table>";
    for ($i=1;$i<=30;$i++) {
    echo "<tr>";
    for ($k=1;$k<=3;$k++){
    echo "<td>$i</td>";
    }
    echo "<tr>";
    }
    ?>
    显示的是:
    1   1   1
    2   2   2
    .........
    30  30  30而我想显示的
    1   2   3
    4   5   6
    ........
    28  29  30请各位指教
      

  12.   

    <?php
    echo "<table><tr align=right>";
    for ($i = 0; $i <= 30; $i++) {
    if ($i % 3) {
    echo "<td width=50>$i</td>";
    } else {
    echo"</tr><tr><td width=50>$i</td>";
    }
    }
    echo "</tr></table>";
    ?>
    你看看是不是这样
      

  13.   

    outlookoutlook(outlook):你的代码基本实现了我的需要,但还有个问题,当$i=1或2、..时,前面的单元格会为空,只有当$i=0或3、6...时,才会正常。请问如何解决???
    我取$i主要是用来作数据库读出记录的数组下标用。
      

  14.   

    你用一个循环
    在你取数据之前申请一个变量$i,之类的
    例如:
    <tr>
    <?
    $i=1;//???i=0
    while(……){
      echo "<td>";
      echo ……
      if($i%3==0){
         </td></tr>
      }
    }
    //后面还有一个补齐的
    if($i%3==1){
    //补两个空白格
    }
    if($i%3==2){
    //补一个空白格
    }
    ?>
      

  15.   

    在补齐前面的还要加一个</tr>
      

  16.   

    不是之前了
    是在之后结束最后一行
    </tr>
      

  17.   


    <?
    $sql=mysql_query("SELECT * FROM a");
    $i = 1;
    while ($a_tab=mysql_fetch_array($sql))
    {
        echo"$a_tab[$i-1]";
        echo"&nbsp;&nbsp;&nbsp;";  //显示空格
        if($i%3 == 0)
            echo"<br>";
        $i++;
    }?>
    不知道行不行,你先看看。
      

  18.   

    <?php
    echo "<table><tr>";
    for ($i = 1; $i <= 30; $i++) {if ($i % 1==0) {
    $k="<td width=50>$i</td>";

    if ($i % 2 ==0) {
    $k="<td width=50>$i</td>";
    }
    if ($i % 3 ==0) {
    $k="<td width=50>$i</td></tr>";
    }
    echo "$k";
    }
    echo "</tr></table>";
    ?>
    这个方法可以实现。