我需要在PHP中创建3个HTML列,其中包含从MySQL返回的数据。我希望数据在所有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