2013-09-25 109 views
0

我目前正在設計一個網站,它從PHP中的MySQL數據庫中讀取信息並打印出每行的表單。這是使用while循環完成的,所以表單在循環內部回顯出來。但是,無論何時提交表單,都會發布很多值,因爲頁面上的表單具有相同的NAME和ID。具有相同名稱/ ID的多個表單

如何在數據庫中打印每個項目的一個表單並相應地處理該表單?謝謝!

while (*this goes through each row in the database) { 
    echo "<form name='myForm' id='myForm' method='post' action=''> 
      <input type='text' name='text1'> 
      </form>"; 
} 

我想用循環打印出一個動態數量的表單。

+0

改爲使用'class','id'應該是唯一的。 –

回答

2

只需在每次迭代中通過向循環中添加一個計數器來更改表​​單名稱和標識。

$i = 0; 
while (*this goes through each row in the database) { 
    echo "<form name='myForm" . $i . "' id='myForm" . $i . "' method='post' action=''> 
      <input type='text' name='text1'> 
      </form>"; 
    $i++; 
} 

甚至可能是更好的是,如果你有某種獨特的數據庫ID爲每個記錄,使用值ID而不是一個計數器。

+0

我喜歡這個,但我將如何去處理和驗證表單?我需要爲每個表單名稱編寫一個函數嗎?謝謝! –

+1

不可以。您可以向表單中添加一個類,並使用jQuery或「document.getElementsByClassName」一次性抓取它們。 –

+1

@felix_xiao您可以使用一個驗證函數,只需將當前提交的表單傳遞給該函數(即使用'this'),並僅對傳遞的表單及其子輸入進行操作。 –

相關問題