我使用PHP中的網頁顯示錶中的所有記錄。我想爲所有行添加複選框,用戶可以選中一個複選框來選擇一行然後提交頁面。提交頁面時,我想枚舉所有複選框並檢查它們是否被選中,我該怎麼做?枚舉PHP中的所有複選框
1
A
回答
2
創建表單
您可以生成HTML如下:
<form [action, method etc]>
<table>
<?php
foreach($dataSet as $dataRow) :
?>
<tr>
<td>
<input type="checkbox" name="dataRow[]" value="<?=$dataRow['id']?>"/>
</td>
[Additional details about datarow here]
<tr>
<?php
endforeach;
?>
</table>
</form>
完成POST
直視$ _ POST [ '數據行']:這將是一個數組,其值爲$ dataRow的IDS,因此使用array_values對$ _POST ['dataRo W']會給你所選行的所有ID:
<?php
$checkedRows = array_values($_POST['dataRow']);
foreach($checkedRows as $row) {
// Do whatever you want to do with the selected row
}
5
您將創建您的複選框是這樣的:
<input name="rows[]" value="uniqueIdForThisRow" type="checkbox" />
<input name="rows[]" value="anotherId" type="checkbox" />
然後你可以通過他們循環是這樣的:
<?php
// $_POST['rows'] contains the values of all checked checkboxes, like:
// array('uniqueIdForThisRow', 'anotherId', ...)
foreach ($_POST['rows'] as $row) {
if ($row == 'uniqueIdForThisRow') {
// do something
}
}
?>
PHP docs on dealing with forms,特別參見實施例#3。
1
如果選中它們,則不必檢查所有複選框。因爲只有successful controls被髮送到服務器。複選框只有在檢查時纔會成功:
複選框(和單選按鈕)是可以由用戶切換的開/關開關。當控件元素的checked屬性被設置時,開關處於「on」狀態。提交表單時,只有「開啓」複選框控件才能成功。
所以你只需要看看你在請求中得到的複選框。如果您想使用<select multiple>
,請在PHP FAQ中查看How do I get all the results from a select multiple HTML tag?。
0
如果我是你......我不會爲改變html表格結構而戰。 你可以使用Javascript框架來處理這個問題,比如JQuery這對你來說是非常有效的解決方案。你只處理幾行JS代碼,你不需要誇大html輸出(我猜它可能足夠長)。關於jquery,如果你從未使用過,有一個名爲visual jquery的好源代碼。
這裏是如何做到這一點。 你不需要在循環內編輯。你只需要在你的表格標籤上加一個id即可。 然後在裏面添加新的列到你的表格中。 然後你可以得到複選框的值&將它們序列化爲一個隱藏的輸入。或者您可以使用ajax輕鬆處理選定的行。我認爲JS框架會更好。
通常我已經添加了許多鏈接到帖子,但它表示它不允許新用戶。
相關問題
- 1. 數據綁定枚舉複選框C#
- 2. 枚舉值複選框C#MVC
- 3. 多個複選框和枚舉
- 4. 選中所有複選框
- 5. 有重複的枚舉值
- 6. 抽象枚舉選擇框
- 7. 列表框與基於枚舉的複選框
- 8. 將複選框綁定到int數組/ MVC中的枚舉
- 9. 如何從所有枚舉類型中排除某些枚舉
- 10. 選擇所有選中的複選框
- 11. 如果所有複選框都選中,選中所有複選框
- 12. 複選框在HeaderTemplate中選擇ItemTemplate中的所有複選框
- 13. 枚舉所有IEnumerable事件
- 14. 枚舉Mozilla中的所有屬性JSAPI
- 15. 枚舉Mathematica中的所有分區
- 16. 枚舉resx中的所有字符串
- 17. NSArray中枚舉的所有值?
- 18. Jquery選中一個複選框時選中所有複選框
- 19. PHP RegEx刪除所有複選框
- 20. WPF C# - 綁定枚舉到組合框,但不使用所有枚舉值
- 21. 綁定標誌枚舉包含列表框複選框
- 22. 獲取枚舉標誌的所有枚舉名稱
- 23. 選擇Django中的所有複選框
- 24. 選擇AngularJS中的所有複選框
- 25. 選擇jquery中的所有複選框
- 26. 選擇angularJS中的所有複選框
- 27. 選擇CheckBoxList中的所有複選框
- 28. 選擇div中的所有複選框
- 29. 選擇jQuery中的所有複選框
- 30. 如何使用SPARQL列出所選枚舉的所有元素?
點擊幫助圖標:http://stackoverflow.com/editing-help – deceze 2009-07-04 13:00:55