dim j,row_num
j=1
row_num=2
response.write "<table>"
do while not rs.eof
if (j mod row_num)=1 then 
response.write "<tr>"
end if
response.write "<td>"&rs("id")&"</td>"
if (j mod row_num)=0 then 
response.write "</tr>"
end if
j=j+1
rs.movenext
loop
response.write "</tr>"
response.write "</table>"
%>

解决方案 »

  1.   

    我所说的是PHP方面的,一楼的兄弟不要拿ASP代码来SHOW嘛!
      

  2.   

    他用的也是用<tr><td>的,这种方法很方便的。
      

  3.   

    先把数据取出来比如
    $i=0;
    echo "<tr>";
    while(.$rs=取记录的代码...){
    echo "<td>". $rs['name']."</td>";
    $i++;
    if($i%3==0&&i>0)
    echo $</tr><tr>";

    echo "</tr>";
      

  4.   

    数据少的话,怎样都行。如果比较多还是用PHP输出表格吧……
    恐怕没有更好的办法了
      

  5.   

    呵呵,大家都误会了,
    我明白它是什么意思了。你可以用javascript来实现你的要求,而且不用改动你的模板。
    但是不知道你的模板是怎么写的,所以给你一个方法。<script language="javascritp">
       i = 1;
    </script>
    <table></tr>
    ----------------循环开始------------------------
    <td><?=$value; ?><td>
    <script language="javascritp">
       if(i%3==0) document.write("</tr><tr>");
       i = i+1;
    </script>
    ----------------循环结束-----------------------
    </tr></table>
      

  6.   

    唉~!大龄青年也没理解我的意思啊!~真郁闷!
    还是举个白痴例子吧!
      __________________________________
     |             图书                |
     |_________________________________|
     |     计算机类    |    外语类      |
     |________________|________________|
     |      文学类    |   经管类        |
     |________________|________________|
    这是一个模拟的可视化表格以输出图书为例.
    因为图书很多我要把它分成两列来表示就象上面的.
    现在我用的是模板变量如下图所示.  __________________________________
     |             {图书}              |
     |_________________________________|
      <!-- begin book_block -->(循环开始标记 )
      _________________________________
     |          {book}                 |
     |_________________________________|
     <!-- end book_block -->(循环结束标记)
    我如何才能使这个模板解析后产生如上面一样的效果呢?
    我要在{book}这个模板变量上做些什么工作呢?
    比如我写了如下代码.
    ...
    while ($row = $db->sql_fetchrow($result))
    {
        $template->assign_block_vars('book_block',array('book'=>$row[book]));
    }
    ...
    这样的话我只能实现单列向下循环了要实现跟上面显示的一样的效果我就如何处理这一步呢?!
    当然笨方法是有的我想要一个高明清晰的办法,(比如function())请高手指教.
      

  7.   

    要用子模板,你的模板类应该支持吧?
    <!-- begin book_block -->
    <tr>
    <!-- begin book_block_sub -->
    <td>{book}</td>
    <!-- end book_block_sub -->
    </tr>
    <!-- end book_block -->对book_block_sub赋值 n 次后对book_block赋值
    n=1时就是你上面的例子真苯,没看出你用的是什么模板类!:)
      

  8.   

    哈哈哈,还是唠叨大哥牛B,让小弟茅塞顿开!
    实话说吧,我用的是PHPBB里的模板类.
    大家如果有兴趣的话,可以谈谈对PHPBB的看法的.
    我个人以为它写得不错,淘宝网大致就用这种方法写的.
      

  9.   

    用表格吧
    简单、方便、还挺实惠(?)。
    要不用CSS也可以的呀!
      

  10.   

    大哥,,,,除了用“<tr>”控制换行,我只有用“<br>”了。
      

  11.   

    skystar008(疯花血月) :呵呵,我理解对了,是你没理解我啊。套用我上面写的模式:肯定可以的!!!!!<script language="javascritp">i = 1; </script>
    <table><tr>
    <!-- begin book_block -->(循环开始标记 )
      _________________________________
     |          {book}                 |
     |_________________________________|
    <script language="javascritp">
       if(i%3==0) document.write("</tr><tr>");
       i = i+1;
    </script>
    <!-- end book_block -->(循环结束标记)
    </tr></table>再整理一下:
    <script language="javascritp">
        i = 1;
        function writeBR(){
           if(i%3==0) document.write("</tr><tr>");
           i = i+1;
        }
    </script>
    <table><tr>
    <!-- begin book_block -->(循环开始标记 )
      _________________________________
     |          {book}                 |
     |_________________________________|
    <script language="javascritp">j=writeBR();</script>
    <!-- end book_block -->(循环结束标记)
    </tr></table>
      

  12.   

    这样的问题我也遇到过
    我用的是SMARY 
    用<{html_table loop=$arrayclass cols=3 table_attr='border=0'}>