发布网友 发布时间:2022-04-06 01:00
共3个回答
懂视网 时间:2022-04-06 05:21
php实现多选删除的方法:首先创建好前台checkbox多选内容的文件;然后通过implode函数把数组元素组合为一个字符串;最后使用SQL语句实现删除即可。
推荐:《PHP视频教程》
php一次性删除前台checkbox多选内容的方法
代码如下:
SQL:$SQL="delete from `doing` where id in ('1,2,3,4')";
数据用逗号隔开。
表单:
代码如下:
<form action="?action=doing" method="post"> <input name="ID_Dele[]" type="checkbox" id="ID_Dele[]" value="1"/> <input name="ID_Dele[]" type="checkbox" id="ID_Dele[]" value="2"/> <input name="ID_Dele[]" type="checkbox" id="ID_Dele[]" value="3"/> <input name="ID_Dele[]" type="checkbox" id="ID_Dele[]" value="4"/> <input type="submit"/> </form>
好$ID_Dele=$_POST['ID_Dele']将会是一个数组,虽然说PHP是弱类型的,但这里可没ASP弱。
ASP可以直接:
SQL="delete from [doing] where id in ('"&ID_Dele&"')"进行删除。但PHP不能把$ID_Dele直接放进去。因为$ID_Dele可不是'1,2,3,4'哦,因为$ID_Dele是一个数组,具有键和值。
好,PHP中也不难,刚好有个函数:implode(),对了。同split()explode()功能刚好相反的一个函数,后两者是用某字符(比如逗号)分割的,而前者则可以拼接为字符串。
因此:
代码如下:
$ID_Dele= implode(",",$_POST['ID_Dele']); $SQL="delete from `doing` where id in ($ID_Dele)";
热心网友 时间:2022-04-06 02:29
我不得不的打击你,你必须得用表单,当然可以用POST方式。
你的全选实现了吧。
首先你必须保证你的checkbox的name是de[],而不是de:
<input type="checkbox" name="de[]" />
因为必须先声明是数组,php才可以按照数组来处理。
然后后台文件用 $_POST['de']来调用就行了。
具体你还是把程序发过来。我改给你看,因为你是初学者。
热心网友 时间:2022-04-06 03:47
当然可以了,
你可以在第一个页面(就是你给的那个图的页面)上获取到所有要删除数据的id,然后传给
del.,php(传值可以这样,php?de=id1&id2&id3,用&连接不同的id)
del.php中只要添加一句explode()即可。
<?php
include("conn.php");
if(!isset($_REQUEST['de'])) exit();
$ids=$_REQUEST['de'];
$id=explode("&",$ids);
foreach($id as $ide){
$sql = "delete from ss_procts where id=$ide";
$res = mysql_query($sql);
}
?>追问感谢你的热心回答,因为我是PHP初学者,能不能请你详细说一下,(php?de=id1&id2&id3,用&连接不同的id)这句怎么写些?就是怎么用&来连?如果是单条记录删除的话,我是这样写的:
">删除
补充:checkbox是这样写的: