使用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打印出水平而不是垂直的表格的主要内容,如果未能解决你的问题,请参考以下文章

在水平滚动表格中垂直溢出表格单元格

如何不垂直溢出表格单元格并打印表格?

iPhone Tableview 在水平滚动而不是垂直中使用单元格

表格单元格的内容水平和垂直居中? [复制]

表格布局可以同时具有水平和垂直滚动视图吗

wps表格打印怎么铺满a4纸