飘易博客
订阅《飘易博客》RSS,第一时间查看最新文章!
上一篇:流氓电信的财大气粗
下一篇:微软XP黑屏延迟到21号,网上出现破解方法

PHP中表单checkbox参数传递问题

Author:Flymorn Source:飘易博客
Categories:PHP编程 PostTime:2008-10-24 11:59:50
正 文:
    一般在网页中,使用多选框可以一次性选择多个属性值,进行批量操作,比如网站有大量垃圾信息,此时一个一个删除信息会耗费过多时间,如果使用checkbox表单提交,效率很高,可以批量删除。

    网页中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>

    在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 />";
}


作者:Flymorn
来源:飘易博客
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。
1条评论 “PHP中表单checkbox参数传递问题”
1 pengk
2008-11-2 3:20:07
在没有任何声明情况下 删除连接 你是不是很无耻  你以为靠这个就可以提高自身网站了么?http://www.91wk.com
===============================
博主回复:撤销你的链接,主要是贵博客已经不是“博客”了,贵站已变成了一个专门通过特意的热门关键词截取SE流量的网站,很明显,这已经偏离了我当初交换链接的意愿。
发表评论
名称(*必填)
邮件(选填)
网站(选填)

记住我,下次回复时不用重新输入个人信息
© 2007-2010 飘易博客 Www.Piaoyi.Org 版权所有 渝ICP备07006361号