【问题标题】:Data populating outside HTML tags填充在 HTML 标记之外的数据
【发布时间】:2013-07-23 14:21:12
【问题描述】:

我认为我正在使用来自 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?

【问题讨论】:

  • 首先确保$row-&gt;name 存在并且有值。其次,您可能正在查看浏览器的inspect element。浏览器会尝试修复您的错误编码。查看source code 以查看真正的标记。
  • $row-name 存在并具有值,即 user1user2user3。我写错了什么?我可以改进什么?
  • 正如@MrLister 所说,那是你的错;)
  • 确实:),这么久我用了一张桌子!谢谢!!

标签: codeigniter view output html-table tablerow


【解决方案1】:

我认为这对你有用:-

我的标题

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

【讨论】:

    【解决方案2】:

    你应该把内容放在&lt;td&gt;元素中。

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

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

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

    【讨论】:

    • 天哪!这么愚蠢的错误!就是这样,我会在几分钟内接受,还不能接受
    【解决方案3】:

    变化:

    foreach($records as $row){
        echo "<tr><td>";
        echo $row->name;
        echo "</td></tr>";
    }
    

    【讨论】:

      猜你喜欢
      • 2014-05-18
      • 1970-01-01
      • 1970-01-01
      • 2015-02-12
      • 1970-01-01
      • 2017-11-15
      • 1970-01-01
      • 1970-01-01
      • 2018-11-05
      相关资源
      最近更新 更多