将PHP/MySQL数据拆分为3列

3

我需要在PHP中创建3个HTML列,并使用从MySQL返回的数据。我希望数据在所有3个列之间均匀分配... 我应该如何处理?


1
这与PHP/MySQL无关,这是一个HTML问题... - Oliver Charlesworth
@Chris:是的,但问题在于要生成什么HTML。 - Oliver Charlesworth
@Michael,应该如何分割?项目应该先水平排列,然后垂直排列(第一行是1 2 3,第二行是4 5 6),还是先垂直排列(第一行是1 3 5,第二行是2 4 6)? - Chris Marasti-Georg
使用下面的代码,我想将它水平分割。我该如何做到这一点? - Michael Grigsby
3个回答

8
你可以尝试像这样做:

你可以尝试像这样做:

$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>';

请停止使用古老的 mysql_* 函数,并教导他人不要使用它们。-1 - tereško
我通常会使用PDO,但数据的检索方式不是我的回答重点。问题是如何将数据获取到3列中,所采用的方法可以适用于无论结果行是如何获得的。 - arcyqwerty
没问题! :) 很高兴为您服务。 - arcyqwerty
@tereško,他很酷。我通常使用Ci(CodeIgniter)自带的mysqli函数…所以每当我得到这样的代码时,我就将其移植过来。 - Michael Grigsby

0

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接