如何從html中顯示的列表中刪除多個項目。刪除多個標記的項目
例如
<ul>
<li>item 1</li>checkbox
<li>item 2</li>
</ul>
<a href="delete.php?ids=checkedids">Delete items</a>
如何從html中顯示的列表中刪除多個項目。刪除多個標記的項目
例如
<ul>
<li>item 1</li>checkbox
<li>item 2</li>
</ul>
<a href="delete.php?ids=checkedids">Delete items</a>
最簡單的辦法在PHP中做到這一點是給你的所有複選框相同的名字,並有該名稱與[]
結束:
<input type="checkbox" name="item[]" value="1" />
<input type="checkbox" name="item[]" value="2" />
<input type="checkbox" name="item[]" value="3" />
然後您的腳本將所有檢查值作爲數組獲取:
if(empty($_REQUEST['item'])) {
// No items checked
}
else {
foreach($_REQUEST['item'] as $id) {
// delete the item with the id $id
}
}
爲了使這項工作,你需要把複選框變成<form>
,並使用一個提交按鈕(而不是鏈接 - 這是行不通的,除非你開始使用JavaScript)是這樣的:
<form method="post" target="some/php/script.php">
<input type="checkbox" name="item[]" value="1" />
<input type="checkbox" name="item[]" value="2" />
<input type="checkbox" name="item[]" value="3" />
<input type="submit" name="delete" value="Delete checked items" />
</form>
對此有一些可能的改進(請參閱Crozin的答案),但您應該首先了解基礎知識。
首先你應該使用一個表單。您可以使用複選框選擇要刪除的項目,然後用下面的查詢:
DELETE FROM tbl_name WHERE id_col_name IN (1, 2, 3, 4, 5, 6, 7, 8);
HTML表單本身可能看起來像以下:
<form ...>
...
<li>
<label>Delete item #123 <input type="checkbox" name="delete[123]" />
</li>
...
</form>
然後是下$_POST['delete']
陣列容易獲得ID列表。
如果有多個列在哪裏,你會怎麼做。 – Vish 2011-04-03 16:53:28