TD中的PHP / MySQL输出数据

时间:2009-07-29 03:15:45

标签: php mysql html-table

在查询数据库时,如何对HTML表格列的数量施加限制。

例如,我有一个MySQL表,其中包含以下值:

myTable:
  id     color
   1      red
   2      blue
   3      green
   4      pink
   5      purple

当我运行查询时,而不是显示传统表行中的所有行,例如

<table>
<?php
   while {
   echo "<tr><td>$row['color']</td></tr>;
         }
 ?>
</table>

相反,我想强加一些东西,每三个td创建一个新的tr。

例如,它会输出如下内容:

<table>
  <tr>
  <td>red</td>
  <td>blue</td>
  <td>green</td>
  </tr>  <-- Notice how after 3 columns, a new table row is created.
  <tr>
  <td>pink</td>
  <td>purple</td>
  </tr>
  </table>

有任何方法可以实现这一目标吗?

2 个答案:

答案 0 :(得分:2)

为了实现这一目标,您可以使用计数器和modulus (%)运算符的组合:

<table>
<?php
  $count = 0;
  while($row = mysql_fetch_array($results)) {
    $outputTr = ($count % 3) == 0;

    if($outputTr) echo '<tr>';

    echo '<td>' . $row['color'] . '</td>';

    if($outputTr) echo '</tr>';

    $count++;
  }
?>
</table>

答案 1 :(得分:1)

为实现这一目标,请放入一个简单的计数器,重置每3个表数据。

<?php
echo "<table><tr>";
$count = 0;
foreach($data as $key => $color)
{
    if($count == 3)
    {
        $count = 0;
        echo "</tr><tr>";
    }
    $count++;
    echo "<td>".$color."</td>";
}
echo "</tr></table>";
?>