2012-07-26 62 views
-1

当我创建一个循环来格式化一些HTML这样的:PHP循环和奇数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

页面的底部有一个没有标题的额外表格。什么是造成这种行为,我该如何解决它?

+0

尝试把边界=“1”找哪个表balongs到 – KazuNino 2012-07-26 05:16:20

+1

你应该尝试关闭表,那是你有没有'' – Musa 2012-07-26 05:17:11

+0

你不关闭

标记在第一个foreach(并且它的头也丢失了一个)。不要直接写入它,格式正确,你会立即发现 – 2012-07-26 05:17:38

回答

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>' 
+0

啊,是的,这是缺少的表格标签。我倾向于过分分析事物。感谢您的答案! – 2012-07-26 05:20:58

+0

不客气。 Upvote将不胜感激 – asprin 2012-07-26 05:28:48