0

我有一个观点,我正在用我的数据库中的结果填充table 我正在这样做:

<table>
    <tr>
        myHeader
    </tr>

    <?php
        if(isset($records)){
            foreach($records as $row){
                echo "<tr>";
                echo $row->name;
                echo "</tr>";
            }
        }   
    ?>
</table>

问题是它没有正确填充我的表格。它填充了表外的所有内容。

输出

<div class="grid-50">
    MyHeader
    user1user2user3user4
    <table>
        <tbody>
            <tr></tr>
        </tbody>
        <tbody>
            <tr></tr>
            <tr></tr>
            <tr></tr>
            <tr></tr>
        </tbody>        
    </table>
</div>

为什么不在表内的 tr 中输出用户名?为什么要生产两个 tbody?

4

3 回答 3

2

我认为这对你有用:-

我的标题

    <?php
        if(isset($records)){
            foreach($records as $row){
                echo "<tr><td>";
                echo $row->name;
                echo "</td></tr>";
            }
        }   
    ?>
</table>
于 2013-07-25T06:30:11.313 回答
1

您应该将内容放在<td>元素中。

<tr>
    <td>myHeader</td>
</tr>

echo "<tr>\n<td>";
echo $row->name;
echo "</td>\n</tr>";

编辑:浏览器确实在 DOM 中重新排列了任何内容之外的不良内容tr,这是正确的,因为它不知道如何处理这些内容。但是,我不知道为什么tbody要创建两个元素。不知道这怎么可能发生。

于 2013-07-23T14:28:20.253 回答
0

改变:

foreach($records as $row){
    echo "<tr><td>";
    echo $row->name;
    echo "</td></tr>";
}
于 2013-07-23T14:33:54.170 回答