2015-04-23 20 views
1

我已經遇到了這個問題兩次現在,我會盡量簡短:以簡潔的方式通過PHP解釋多個相同的表單元素?

我想要一個表,其中每個條目都有類似的行爲。從表中刪除行,向上移動行,向下移動行。我無法操縱任何按鍵中的數據,這似乎是一種美觀或甚至直接功能的方式。

該問題可能是如何,我給它們命名:

<tr><td>Example Row 1</td> <td><input name="delete_1" value="delete"></td></tr> 
    <tr><td>Example Row 2</td> <td><input name="delete_2" value="delete"></td></tr> 
    <tr><td>Example Row 3</td> <td><input name="delete_3" value="delete"></td></tr> 
    <tr><td>Example Row 4</td> <td><input name="delete_4" value="delete"></td></tr> 

我想我的PHP腳本,看看我的意思是刪除時,我就刪除行4單擊例如哪一行。

我認爲將值設置爲行的id並使用它來操縱數據是非常簡單的,但隨後html元素中的文本會發生變化。

我有一些奇怪的想法來解決我看到的這個問題,使用while循環來檢查$ POST ['刪除。 $ incremented_value]已設置等,但它是可怕的過於複雜。

道歉,如果我問一個荒謬的問題或盲目的解決方案,謝謝你的閱讀。

+1

可以命名輸入'刪除[X]''那裏是x'行。 '$ _POST ['delete']'將成爲一個數組。 – tmt

回答

1

改變你的HTML以下

<from method="POST" action"somescript.php"> 
    <table> 
     <tr><td>Example Row 1</td> <td><input type="checkbox" name="delete[]" value="1"></td></tr> 
     <tr><td>Example Row 2</td> <td><input type="checkbox" name="delete[]" value="2"></td></tr> 
     <tr><td>Example Row 3</td> <td><input type="checkbox" name="delete[]" value="3"></td></tr> 
     <tr><td>Example Row 4</td> <td><input type="checkbox" name="delete[]" value="4"></td></tr> 
    </table> 
    <button type="submit">Delete Checked</button> 
</form> 

然後在PHP端

$deletes = array_key_exists('delete', $_POST) ? $_POST['delete'] : []; 

foreach($deletes as $delete) { 
    // do something 
} 
+0

這非常非常有趣。我很想詳細瞭解你的方法是如何工作的 - 你能提供任何文檔嗎? 此外,這將更改我的提交按鈕內的文字爲1,2,3,4? –

+0

我這樣做的方式是你做複選框,然後一個提交按鈕,所以你一次刪除它們。 – Augwa

+0

我更新了我的回覆以包含完整的工作html。 – Augwa

相關問題