PHP中表單checkbox參數傳遞問題

 通常在網頁中,使用多選框能夠一次性選擇多個屬性值,進行批量操做,好比網站有大量垃圾信息,此時一個一個刪除信息會耗費過多時間,若是使用checkbox表單提交,效率很高,能夠批量刪除。

    網頁中checkbox的用法通常爲:php

<form name="formdelpi" method="post" action="">
<input name=delpi type=checkbox value=1>
<input name=delpi type=checkbox value=2>
<input name=delpi type=checkbox value=3>
<input type="submit" name="s" value="【批量刪除】">
</form>
在ASP中,能夠直接使用 request.form("delpi") 獲取參數值,request.form("delpi")的值是以逗號 「, 」分割,好比上面若是所有勾選,那麼得到的值爲:1, 2, 3。咱們能夠使用split函數進行切割,從而對每一個參數進行合適的處理。

    而在PHP中,是沒法直接經過$_POST["delpi"]獲取像上面這樣的值的,php中只能獲取最後一個值,好比所有勾選,$_POST["delpi"]的值只返回3。

    爲了解決這個問題,咱們就須要把表單 checkbox 的名稱改成數組名:

<form name="formdelpi" method="post" action="">
<input name=delpi[] type=checkbox value=1>
<input name=delpi[] type=checkbox value=2>
<input name=delpi[] type=checkbox value=3>
<input type="submit" name="s" value="【批量刪除】">
</form>
這樣,咱們就能夠經過 $_POST["delpi"] 獲取數組array(1,2,3)裏的所有值了。再使用foreach函數,能夠對數組array裏的每一個值進行操做:

$id=$_POST["delpi"];
foreach($id as $n){
mysql_query("delete from content where id=$n",$conn);
echo "·結果:刪除ID:(".$n.") 成功!<br />";
}
相關文章
相關標籤/搜索