将PHP / MySQL数据拆分为3列

时间:2011-12-28 19:42:19

标签: php html

我需要在PHP中创建3个HTML列,其中包含从MySQL返回的数据。我希望数据在所有3列之间平均分配......我将如何进行此操作?

3 个答案:

答案 0 :(得分:6)

您可以尝试这样做:

$result = mysql_query("SELECT value FROM table");
$i = 0;
echo '<table><tr>';
while ($row = mysql_fetch_row($result)){
  echo '<td>' . $row[0] . '</td>';
  if ($i++ == 2) echo '</tr><tr>'
}
echo '</tr></table>';

请注意,此表的值为

1 2 3 
4 5 6
7 8 9

如果你想要它垂直像

1 4 7
2 5 8
3 6 9

然后你应该做类似

的事情
$result = mysql_query("SELECT value FROM table");
$data = Array();

while ($row = mysql_fetch_row($result)) $data[] = $row;

for ($i = 0; $i < count($data) / 3; $i++){

  echo '<table><tr>';

  for ($j = 0; $j < 3; $j++){
    echo '<td>' . $data[ $i + $j * 3] . '</td>';
  }

  echo '</tr><tr>'
}
echo '</tr></table>';

答案 1 :(得分:0)

您可以创建一个HTML表,然后使用PHP foreach循环遍历MySQL结果集并将每个字段放在自己的表中。在MySQL查询返回的每条记录的末尾,结束表行并开始一个新行。

答案 2 :(得分:0)

一个小细节,如果根据@Robbie的答案返回比“fetch_row”更多的条目使用“break”:Spliting mysql data in 3 columns error -3-columns-error