使用PHP打印出水平而不是垂直的表格
Posted
技术标签:
【中文标题】使用PHP打印出水平而不是垂直的表格【英文标题】:Printing out a table horizontal instead of vertical using PHP 【发布时间】:2012-06-15 14:48:00 【问题描述】:问题:
我有一个垂直打印的表格,但我希望它改为水平打印。任何人都可以就如何实现这一点提供指导?
PHP 代码:
echo '
<table class="table table-condensed table-bordered neutralize">
<tbody>
<tr>
<td><b>Kriterium</td>
<td><b>Betyg</td>
</tr>
';
while ($row = mysql_fetch_assoc($result))
echo '
<tr>
<td>'.$i.'</td>
<td>'.$row['RID'].'</td>
</tr>
';
$i++;
echo '
</tbody>
</table>
';
当前输出:
期望的输出:
【问题讨论】:
你混淆了 td 和 tr 标签。 【参考方案1】:循环遍历您的查询结果,首先构建您想要的两行,然后将它们添加到您的表中:
$kriterium = '';
$betyg = '';
while ($row = mysql_fetch_assoc($result))
$kriterium .= '<td>'.$i.'</td>';
$betyg .= '<td>'.$row['RID'].'</td>';
$i++;
echo '
<table class="table table-condensed table-bordered neutralize">
<tbody>
<tr>
<td><b>Kriterium</td>'.$kriterium .'
</tr>
<tr>
<td><b>Betyg</td>'.$betyg .'
</tr>
</tbody>
</table>
';
【讨论】:
在 php 中是.=
和 +=
相同的东西
不,.=
是连接赋值运算符,而+=
是加法赋值运算符。
这是一个非常聪明的解决方案,从来没有想过。非常感谢!【参考方案2】:
您可以在二维数组中收集数据,然后重用此数组以构建不同格式的输出:
$rows = array();
$index = 0;
while ($row = mysql_fetch_assoc($result))
$rows[0][] = ++$index;
$rows[1][] = $row['RID'];
$table = '<table class="table table-condensed table-bordered neutralize">
<tbody>
<tr><td><b>Kriterium</b></td><td>%s</td></tr>
<tr><td><b>Betyg</b></td><td>%s</td></tr>
</tbody>
</table>';
printf(
$table,
implode('</td><td>', $rows[0]),
implode('</td><td>', $rows[1])
);
【讨论】:
以上是关于使用PHP打印出水平而不是垂直的表格的主要内容,如果未能解决你的问题,请参考以下文章