2013-10-23 155 views
-2

我想建立一个表,每个条目都有一个删除按钮,但输出令我困惑。代码如下:PHP生成混淆输出

    if ($players != null) { 

         echo('<table class="playerTable">'); 
         echo('<thead>'); 
         echo('<tr>'); 
         echo('<th> Last Name </th>'); 
         echo('<th> First Name </th>'); 
         echo('<th></th>'); 
         echo('<th></th>'); 
         echo('</tr></thead><tbody>'); 

         for ($i=0; $i<count($players); $i++) { 
          printf('<form action="player.php" method="post" onSubmit="return submitCheck(\'%s\', \'%s\')">', $players[$i]->name, $players[$i]->surname); 
          echo("<tr>"); 
          printf("<td> %s </td><td> %s </td>", $players[$i]->surname, $players[$i]->name); 
          echo('<td><input type="hidden" name="delete" value="'. $players[$i]->id .'"></td>'); 
          echo('<td><input type="submit" value="Delete"></td>'); 
          echo("</tr>"); 
          echo('</form'); 


         } 
         echo('</tbody></table>'); 
        } 

出于某种原因,我不明白,产生的输出如下:

<tbody> 
<form action="player.php" method="post" onsubmit="return submitCheck('someName', 'someName')"></form> 
<tr> 
    <td> someName </td> 
    <td> someName </td> 
    <td><input type="hidden" name="delete" value="1"></td> 
    <td><input type="submit" value="Delete"> 
    </td> 
</tr> 

这当然导致了一个事实,即submitCheck不会被执行 - 我在这里错过了什么?

+0

好吧,你告诉我们如何输出应'not'样子,护理提它如何'should'? –

+0

只是通过附加所有这些东西来形成一个字符串,并在最后回显它,然后它将起作用 – developerCK

+0

当然,

标签应该包含整个,但似乎php没有遵循我的回声语句的顺序 – Thrym

回答

0

首先,<table>内不应有<form>标记。换个角度来说吧。此外,在您的开幕<form>标记中,操作属性中缺少=标志。 <form>的结束标记也应该在<table>之外。

+0

你是否在意详细说明?我不知道如何让它反过来而不会丢失对正确条目的引用 – Thrym

+0

您可以先阅读上面的注释。你不能在''里放置任何你想到的元素。把它放在''里面并更新你的输出 – Martin

0

没有=action"player.php" 尝试action="player.php"