PHP循环和奇怪的HTML输出

时间:2012-07-26 05:12:32

标签: php html loops html-table

当我创建一个循环来格式化一些像这样的HTML:

$pieces = Equipment::find_all();
foreach($slots as $slot) { 
    echo "<h3>".ucfirst($slot)."</h3>";
    echo "<table class=\"eq_table\"><th><td>Name</td><td>P.AC</td><td>M.AC</td><td>Saves</td><td>Dex</td><td>Str</td><td>Int</td><td>Wis</td><td>Con</td><td>Hit</td><td>Dam</td><td>Hp</td><td>Mana</td></th>";
    foreach($pieces as $piece) {
        if($piece->slot == $slot) {
            echo "<tr><td>$piece->name</td><td>$piece->p_ac</td><td>$piece->m_ac</td><td>$piece->saves</td><td>$piece->dev</td><td>$piece->dex</td><td>$piece->str</td><td>$piece->intel</td><td>$piece->wis</td><td>$piece->con</td><td>$piece->hit</td><td>$piece->hit</td>$piece->dam</td><td>$piece->hp</td><td>$piece->mana</td></tr>";
        }
    }
}

我得到了明显不需要的输出:

screenshot http://db.tt/mtFD7Pec

页面底部有一个没有标题的额外表格。导致此行为的原因是什么?如何解决?

1 个答案:

答案 0 :(得分:0)

试试这个

echo "<table class=\"eq_table\">
        <th>
            <td>Name</td>
            <td>P.AC</td>
            <td>M.AC</td>
            <td>Saves</td>
            <td>Dex</td>
            <td>Str</td>
            <td>Int</td>
            <td>Wis</td>
            <td>Con</td>
            <td>Hit</td>
            <td>Dam</td>
            <td>Hp</td>
            <td>Mana</td>
       </th>";

foreach($slots as $slot) { 
    echo "<h3>".ucfirst($slot)."</h3>";

    foreach($pieces as $piece) {
        if($piece->slot == $slot) {
            echo "<tr>
                    <td>$piece->name</td>
                    <td>$piece->p_ac</td>
                    <td>$piece->m_ac</td>
                    <td>$piece->saves</td>
                    <td>$piece->dev</td>
                    <td>$piece->dex</td>
                    <td>$piece->str</td>
                    <td>$piece->intel</td>
                    <td>$piece->wis</td>
                    <td>$piece->con</td>
                    <td>$piece->hit</td>
                    <td>$piece->hit</td>
                    <td>$piece->dam</td>
                    <td>$piece->hp</td>
                    <td>$piece->mana</td>
              </tr>";
        }
    }
}

echo '</table>'