可算TM的愁死了。
效果图,  <table cellspacing="0" class="booklist">
            <tr>
              <td><div class="divbookpic"><p><a href="info.html"><img src="bookcover/dayongxiaohua.jpg" width="115" height="129" border="0" /></a></p>
              </div>
                <div class="divlisttitle"><a href="info.html">书名AAAAA
                    <br />
                  售价: 19.80 </a></div></td>
  
  
  <td><div class="divbookpic"><p><img src="bookcover/fish.jpg" width="91" height="122" /></p>
  </div>
                <div class="divlisttitle">书名AAAAA
                <br />
                  售价: 19.80 </div></td>
  
  
  
  
           <td><div class="divbookpic"><p><img src="bookcover/dulala.jpg" width="109" height="141" /></p>
           </div>
                <div class="divlisttitle">书名AAAAA
                <br />
                  售价: 19.80 </div></td>
  
  
  
             <td><div class="divbookpic"><p><img src="bookcover/subwayinshanghai.jpg" width="97" height="135" /></p>
             </div>
                <div class="divlisttitle">书名AAAAA
                <br />
                  售价: 19.80 </div></td>
            </tr>
          </table>  效果就是每行4个,超过4个换行。。
我戳,没分了,赶紧挣钱吧。

解决方案 »

  1.   

    数据格式呢?排序从0 - N每当N&4==1 就输出 '</tr>'.PHP_EOL.'<tr>' 就行了
      

  2.   

    li(列表之类的,如dd、ol等)是最好的选择
      

  3.   

    li能横排吗? 我不会写html,我这是找的,- -哈哈!
      

  4.   

    看这个模板的意思,是一个table写4个tr,然后再换到下一个table。满4个再换下一个。
      

  5.   

    就算做后台也要知道点前端知识吧,
    li这些都可以随便排版的,怎么排就看你css怎么写了
      

  6.   

    用table做这种的最烦了,如果最后一行不是4个呢,只有3个呢,
    li的话直接一个foreach就搞定了
      

  7.   


    那div行么? 100个<div> 挤在一行,然后用css四个为一行,你觉得如何?
      

  8.   

    div也是一样的(就看前台怎么写),怎么方便怎么用,样式都是前端控制的,你直接foreach循环即可
    如果用table的话你还要控制循环,麻烦
      

  9.   


    echo '<table><tr>', PHP_EOL;
    for ($i=0;$i<N;$i++){
        if ($i & 4 === 1) echo '</tr>', PHP_EOL, '<tr>';
        echo '<td>', ……每项数据, '</td>', PHP_EOL;
    }
    echo  '</tr></table>';
      

  10.   

    <?php
    $N=23;
    echo '<table><tr>', PHP_EOL;
    for ($i=0;$i<$N;$i++){
        if ($i & 4 === 1)
            echo "</tr>, PHP_EOL, <tr>";
            echo "<td>  ……每项数据, </td>",
            PHP_EOL;    }
    echo  '</tr></table>';
    ?>- -0.。,我这样测的不行。。
    您帮改改。。
      

  11.   


    您顺便一块回复了吧,N&4==1,一个&符号怎么理解?
      

  12.   

    写错了,sorry
    if ($i & 4 === 4) {echo '</tr>', PHP_EOL, '<tr>';}
    if这句是单行,{}可以省略,后面的echo跟if判断无关&是位运算,这里表示$i刚好是4的倍数的时候,去查位运算相关资料
      

  13.   

    不耍酷了,还是原始点这样吧if ($i % 4 === 0) {echo '</tr>', PHP_EOL, '<tr>';}
      

  14.   

    <table>
    <?php
       echo "<tr>";
       for (var $i=1;$i<=4;$i++)
       {
         echo "<td>";
         if(有内容) {echo "显示你的内容";}
         echo "</td>";
       }
       echo "</tr>";
    ?></table>
      

  15.   

    这样写
    echo '<table><tr>', PHP_EOL;
    for ($i=0;$i<8;$i++){
        if ($i && ($i % 4) == 0) echo '</tr>', PHP_EOL, '<tr>';
        echo '<td>', ……每项数据, '</td>', PHP_EOL;
    }
    echo  '</tr></table>';记得你是用 tp 的吧?
    取回全部数据到数组,用 array_chunk 按每段 4 个切开后 assign 到模板
      

  16.   

    在js里动态添加div比较好吧 一般我都喜欢用动态添加节点的方法  你这个万一最后一行不是4,但是你这div依旧在啊?