表内循环

时间:2010-03-13 10:16:00

标签: php html html-table

我有一个循环中的表格来自li:

<?php
 for($i=1;$i<=$tc;$i++)
 {
  $row=mysql_fetch_array($result);
  ?>
  <li style="list-style:none; margin-left:-20px">
  <table width="600" border="0" cellspacing="0" cellpadding="0">
  <tr>
 <td class="hline" style="width:267px"><?php  echo $row['tit'] .",". $row['name'] ?></td>
<td class="vline" style="width:1px">&nbsp;</td>
<td class="hline" style="width:100px"><?php echo $row['city']; ?></td>
  </tr>
 </table>
</li>
<?php
}
?>

输出如下:

alt text http://img20.imageshack.us/img20/4153/67396040.gif

  • 由于<li>排序
  • ,我无法将表放在循环之外

3 个答案:

答案 0 :(得分:1)

  

我不能把表放在循环之外。

为什么不呢?这是它所属的地方。毕竟,你(逻辑上)生成一个表,而不是很多。也不需要列表项。

答案 1 :(得分:1)

如果您不能在循环外使用表格,那么我认为最佳选项将使用

     <div>

语句

例如

   <div class="q-s na">
     <div class="st" style="margin-right:10px; width:150px">
        <div class="m-c"><?php  echo $row['tit'] .",". $row['name'] ?></div>
    </div>

这和你一样

      <td>

您可以根据自己的要求定义样式。

例如

        <style>
    .q-s{overflow:hidden;width:664px;float:left; 
         padding-top:2px; padding-bottom:2px; height:25px}

      .na .st{ float:left;}
   .na .m-c {border-bottom:1px dotted #999; padding-bottom:10px; height:15px}
    </style>

答案 2 :(得分:0)

如果你不能把表放在循环之外,你应该只使用标签而不是创建表,因为你甚至通过使每个表成为一行并尝试使用表来破坏表的目的堆叠它们。

如果您要坚持使用表格,请注意另一件事:

如果您正在对表格宽度和所有表格单元格(列)宽度进行硬编码,那么当它们不加起来时可能会导致意外问题:

表格宽度= 600px

Cells = 267 + 1 + 100 = 368px