2013-10-23 154 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"