列清单的代码不正确,没有把编号作为参数传递给删除的PHP程序,修改如下:
成都创新互联是一家专业从事网站设计、网站建设的网络公司。作为专业网站建设公司,成都创新互联依托的技术实力、以及多年的网站运营经验,为您提供专业的成都网站建设、全网整合营销推广及网站设计开发服务!
?php
while(list($id,$content,$date)=$stmt-fetch(PDO::FETCH_NUM))
{
echo "tr
td$id/td
td$content/td
td$date/td
tda href='ed.php?id=$id'编辑/a
a href='del.php?id=$id'删除/a/td
/tr";
}
删除的文件有的小的修改,把判断if(isset($_get['sc']))取消,只需要判断参数id既可,这样:
$id=$_GET['id'];
if($id!=''){
....执行delete....
}
html代码:
input name="checkbox[]" type="checkbox" id="checkbox" value="1" /
input name="checkbox[]" type="checkbox" id="checkbox" value="2" checked="checked"/
input name="checkbox[]" type="checkbox" id="checkbox" value="3" checked="checked"/
PHP代码:
$chebox_arr=$_POST['checkbox'];
foreach ($chebox_arr as $c) {
//这里执行删除操作就可以了,$c为被选中的复选框ID。
}
可以写个方法,查询所有数据,然后遍历数组,查询的时候分组查询(按照某一字段即可),如果该组数据量1,则删除,只保留一条即可。SQL语句会写就可以
这个和thinkphp有什么关系呢?
前台将选中的checkbox提交到后台(例如这些都是id),然后后台收到数组之后将这些id匹配的数据删除。
在thinkphp里面简单的批量删除:
$where['id'] = array('in',$arr); //$arr是你接收到的数组
$Model-where($where)-delete();
如果某角色拥有某权限的话,是不是在表中有一对多的关系对不?
假定a角色,拥有文章管理权限(假定权限id=0)的删除(假定权限id=1)和添加(假定权限ID=2)权限.
a 0
a 1
a 2
编辑角色的时候,把a的所有权限存在一个一维数组中.如$au = array(0,1,2)
那你在foreach(全部权限列表 as $ritem){
if(in_array($ritem['id'],$au){//判断权限是否已在给定角色权限列表中.
echo "input type=\"checkbox\" name="aulist[]" value=\"$ritem['id']\" checked";//多有一个checked
}else{
echo "input type=\"checkbox\" name="aulist[]" value=\"$ritem['id']\" ";//没有权限,则不用选中.
}
}
============
随手写的代码,没有验证,如果有小错误,请自行修改.