【问题标题】:table headers not aligning properly表头没有正确对齐
【发布时间】:2011-08-16 23:52:18
【问题描述】:

我从 mysql 查询中输出 4 列,但使用下面的代码不会将每列与标题对齐,我猜是因为这是针对动态行声明的静态。有人可以建议一种将标题与每个提取的列正确对齐的方法吗,,,

$tableStyle = "padding: 5px;border:1px"; 
    $tdStyle = "padding:5px "; 
    $thStyle = "padding:5px; align:center ";


    echo '<table style="' . $tableStyle . '" cellpadding="7" cellspacing="7">'; 
    echo "<tr> <th>Quiz Title </th><th> Score </th><th>Maximum Score </th><th>Finished On </th></tr>"; 

    $row = $database->loadRowList();
    foreach($row as $valuearray)
    {
    echo '<tr style=" align="center">';
    foreach($valuearray as $field)
    {

    echo "<td>$field</td>";
    }
    echo "</tr>";
    }
    echo "</table>";

【问题讨论】:

  • 当你说不对齐时,你是什么意思?你的意思是你最终在数据行中有额外的单元格,还是你的意思是列的顺序不正确?
  • 首先,您尝试将&lt;tr&gt; 居中时出现错误," 永远不会关闭。也可以选择align="center"style="text-align: center"

标签: php mysql html css


【解决方案1】:

这一行是错误的:

echo '<tr style=" align="center">';

我想你想要:

echo '<tr style="text-align:center;">';

【讨论】:

  • 仅供参考,我认为样式不属于该元素,但至少它会形成良好的格式。
  • 不是align: center,而是text-align: center。更改时 +1。
  • 哈只为你改了;我更关心格式错误的 HTML。
【解决方案2】:

您在使用 Joomla 吗? loadRowList() 暗示了这一点。如果是,请改用loadAssocList(),它会返回字段名称和字段值。然后,您可以执行单独的循环来输出列标题并保证它们与数据字段匹配。


这里的函数文档:http://help.joomla.org/content/view/509/60/

你会做这样的事情:

$rows = $database->loadAssocList();
echo '<tr>';
foreach(array_keys($rows[0]) as $header) {
    echo "<th>$header</th>";
}
echo '</tr>';

foreach ($rows as $row) {
    echo '<tr>';
    foreach($row as $value) {
        echo "<td>$value</td>";
    }
    echo '</tr>';
}

【讨论】:

  • 是的 Marc B 我正在使用 Joomla ,你能帮忙看看如何输出表格的语法吗?
  • 效果很好!但是我不确定如何为查询中的每一列设置别名。
  • 不太了解 Joomla,但如果您自己编写查询,请使用 select field1 AS alias1, field2 AS alias2 etc...
猜你喜欢
  • 1970-01-01
  • 2020-05-13
  • 1970-01-01
  • 1970-01-01
  • 2019-12-13
  • 1970-01-01
  • 1970-01-01
  • 2021-06-16
  • 2017-11-05
相关资源
最近更新 更多