PHP / CSS无法让元素坐在桌子上?

时间:2011-09-23 19:33:07

标签: php css html

我有一个div relatedListings,其中包含客户订单表。

我想在它上面添加一个标题,我尝试过h3,div和span但是它总是将元素放在表格下面。

生成表格的代码:

echo '<div id="relatedListings">
        <h3 id="relatedListingsHeader">Customer\'s Listings</h3>' .
        $account->listAds() .
    '</div>';

执行后来自浏览器的实际来源:

<table id='customerAds'>
    <!-- Generated table data -->
</table><div id="relatedListings">
        <h3 id="relatedListingsHeader">Customer's Listings</h3></div>

请注意,在第二个片段中,div在表格之后。有什么想法吗?

编辑:这是listAds方法:

echo "<table id='customerAds'>
                <tr><th>Ad</th><th>Title</th><th>Description</th><th>Ad Date</th><th>Actions</th></tr>";

        while ($ad = $ads->fetch()) {
            echo "<tr id='row_{$ad['idAds']}'>
                    <td>{$ad['idAds']}</td>
                    <td>{$ad['Title']}</td>
                    <td>" . substr(strip_tags($ad['Description']), 0, 100) . "...</td>
                    <td>" . format::dateConvert($ad['DatePosted'], 12) . "</td>
                    <td><a href='#'>Delete</a></td>
                </tr>";
        }

        echo "</table>";

2 个答案:

答案 0 :(得分:1)

我冒昧地猜测$ account-&gt; listAds()也是回声,而不是返回。如果你可以改变那个功能而不是你应该更好。

<强>更新 现在已经看到了你的更新代码 - 我建议让该函数返回一个字符串 - 而不是像你一样使用echo

$tableCode = "<table id='customerAds'>
            <tr><th>Ad</th><th>Title</th><th>Description</th><th>Ad Date</th><th>Actions</th></tr>";

    while ($ad = $ads->fetch()) {
        $tableCode .= "<tr id='row_{$ad['idAds']}'>
                <td>{$ad['idAds']}</td>
                <td>{$ad['Title']}</td>
                <td>" . substr(strip_tags($ad['Description']), 0, 100) . "...</td>
                <td>" . format::dateConvert($ad['DatePosted'], 12) . "</td>
                <td><a href='#'>Delete</a></td>
            </tr>";
    }

    $tableCode .= "</table>";
return $tableCode;

答案 1 :(得分:0)

您生成的表格数据可能格式不正确,导致浏览器尝试将标记捏造成它认为您的意思。由于你没有包含该标记,我无法确定。查看$account->listAds()

中的代码也会很有帮助