2012-03-08 78 views
1

我有這樣的代碼表單提交按鈕不起作用與PHP循環

<tbody> 
      <form action="dsf.php" method="post"> 
      <?PHP if(mysql_num_rows($leerdb) > 0) {while ($rs = mysql_fetch_row($leerdb)) {?> 
       <tr> 
        <td><input name="idecod[]" type="checkbox" value="<?php echo $rs[0]; ?>" /></td> 
        <td><?php echo $rs[0]; ?></td> 
        <td><?php echo $rs[1]; ?></td> 
        <td><?php echo $rs[2]; ?></td> 
        <td><?php echo $rs[3]; ?></td> 
        <td><?php echo $rs[4]; ?></td> 
        <td><?php echo $rs[5]; ?></td> 
        <td>BsF. <?php echo $rs[6]; ?></td> 
       </tr> 
       <?PHP }}?> 
       <input class="enviar" type="submit" name="enviar" id="enviar" value="Editar Asesor" /> 
     </form> 
      </tbody> 

我不知道爲什麼提交按鈕不起作用。當我點擊它時,什麼都沒有發生。

看來,在PHP循環中的東西正在製造混亂..但據我所知,PHP首先比HTML,所以,當FORM HTML到來時,PHP代碼已經執行。

我的錯誤在哪裏?

在此先感謝。

Roberto

+1

你能發佈生成的HTML嗎? – j08691 2012-03-08 16:13:46

+0

將您的代碼放入本地示例中。它對我來說工作得很好。 - 但是你不應該一遍又一遍地使用同一個名字。 – Smamatti 2012-03-08 16:17:57

回答

2

您正在生成無效的HTML。

如果不將表格包裝在整個表格中,則不能將表格包裝在表格中。

您不能在表格行之間放置提交按鈕。

您正在使用的瀏覽器可能嘗試從錯誤中恢復,以便將表單移動到允許的位置,但不包含任何控件。

注意:不同的瀏覽器可以通過不同的方式在不適當的表格部分恢復。

Use a validator,並寫真實的HTML。

+0

謝謝。它現在可以工作......這可能是一個愚蠢的問題,但是我認爲在HTML標籤的位置沒有關係的地方,只要它們有合適的開始和結束。 再次感謝。 – 2012-03-08 17:21:58

-1

而不是打開括號,如果使用PHP短標籤。例如:

<?php if (condition): ?> 
     output your html here 
    <?php endif; ?> 

同樣的事情會持續一段時間。請閱讀以下網址:www.php.net/manual/en/control-structures.while.php

+0

您可以根據需要嵌套儘可能多的whiles和ifs,只要確保相應地關閉每個ifs即可!很容易迷路。歡呼 – Rorchackh 2012-03-08 16:18:51

+0

雖然這可以提高可讀性......這將如何幫助解決這個問題? – Quentin 2012-03-08 16:20:45