后台的全部删除选中功能如果实现

hailun 2006-12-02 11:39:27
如果在后台要实现全部选中功能,然后点击"删除",即可把全部内容删掉的功能代码如何实现

谢谢

是以下面这种形式的
id title del(submit按钮)
1 1 复选框(type=checkbox)
2 2 复选框(type=checkbox)
...
...
...

谢谢大家,帮帮忙
...全文
187 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
junshanhudazhaxi 2007-03-21
  • 打赏
  • 举报
回复
解答的很好!
sy_binbin 2006-12-03
  • 打赏
  • 举报
回复
dim id
id=trim(Request("id"))
if id="" then
response.Write("<SCRIPT language=JavaScript>alert('请指定要删除的数据编号!');")
response.Write("javascript:history.go(-1)</SCRIPT>")
end if

if instr(id,",")>0 then
id=replace(id," ","")
sql="Select * from 表 where id in (" & id & ")"
else
id=clng(id)
sql="select * from 表 where id=" & id
end if
Set rs=Server.CreateObject("Adodb.RecordSet")
rs.Open sql,conn,1,3
do while not rs.eof
rs.delete
rs.movenext
loop
rs.close
set rs=nothing
sy_binbin 2006-12-03
  • 打赏
  • 举报
回复
显示页面
<script language="javascript">
<!--

function unselectall()
{
if(document.myform.chkAll.checked){
document.myform.chkAll.checked = document.myform.chkAll.checked&0;
}
}

function CheckAll(form)
{
for (var i=0;i<form.elements.length;i++)
{
var e = form.elements[i];
if (e.Name != "chkAll"&&e.disabled!=true)
e.checked = form.chkAll.checked;
}
}

function del()
{
document.form2.action="gameEdit.asp?action=del";
document.form2.submit()
}

//-->
</script>
<form id="form2" name="form2" method="post" action="">
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#929292">
<tr>
<td width="4%" align="center" bgcolor="#efefef"><strong>选中</strong></td>
</tr>
<%
do while not rs.eof
%>
<tr>
<td align="center" bgcolor="#efefef"><input name="id" type="checkbox" id="id" value="<%=rs(0)%>" /></td>
</td>
</tr>
</table>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="172" height="30" class="style3">
<input name="chkAll" type="checkbox" id="chkAll" onclick="CheckAll(this.form)" value="checkbox" />
选中本页显示的所有数据</td>
<td width="803" align="left">
<input type="button" name="Submit4" value="删除所有选取的数据" onclick="del()" /></td>
</tr>
</table>
</form>
hailun 2006-12-03
  • 打赏
  • 举报
回复
谢谢二位的帮忙明白了
yalan 2006-12-03
  • 打赏
  • 举报
回复
我给解释一下:
1,unselectall()这个函数为取消全选,也就是如果你选中了某些checkbox,如果点击这个按钮会将所有的checkbox选择置为未选择。
可以按照下面的方法调用:
...............'省略上面的代码
<td width="172" height="30" class="style3">
<input name="chkAll" type="checkbox" id="chkAll" onclick="CheckAll(this.form)" value="checkbox" />
选择所有
  
</td><input name="unselectall" type="checkbox" id="unselectall" onclick="unselectall(this.form)" value="checkbox" />取消选择
<td width="803" align="left">
<input type="button" name="Submit4" value="删除所有选取的数据" onclick="del()" /></td>
</tr>
...................'以下省略

2,不显示也很简单,可以判断一下记录集是否有数据,如果有则显示,如果没有则不显示。
如果全选和反选在记录集内,可以将上面的代码修改为:
<%if not(rs.bof and rs.eof) then%>
<td width="172" height="30" class="style3">
<input name="chkAll" type="checkbox" id="chkAll" onclick="CheckAll(this.form)" value="checkbox" />
选择所有
  
</td><input name="unselectall" type="checkbox" id="unselectall" onclick="unselectall(this.form)" value="checkbox" />取消选择
<td width="803" align="left">
<input type="button" name="Submit4" value="删除所有选取的数据" onclick="del()" /></td>
</tr>
<%end if%>

上面的意思是,如果记录集中由数据,那么显示全选和反选按钮。

3,如果数据量大,sy_binbin()的方法为什么会浪费资源,你看他的方法虽然可以实现你的要求,但是它会先打开记录集,然后使用记录集的rs.delete方法删除,首先,从数据库中取记录会浪费很大的资源。我的方法是直接调用delete删除数据,而不取数据,因此如果数据量大的话sy_binbin()的方法会浪费很多资源,而我的方法则不会。


hailun 2006-12-03
  • 打赏
  • 举报
回复
谢谢二位
不过还有几点不懂
1,unselectall()这个函数没有用到

2,当把所有的数据删除后,可不可以让 下面这句也不显示,只要有数据的时候就显示没有就不显示
<td width="803" align="left">
<input type="button" name="Submit4" value="删除所有选取的数据" onclick="del()" /></td>

3,如果数据量大会浪费资源 ,这句话不太理解
yalan 2006-12-03
  • 打赏
  • 举报
回复
三楼正解!完全同意!
但是下面的删除语句我不同意,如果数据量大会浪费资源,他下面的一段可以简化为:

if instr(id,",")>0 then
sql="delete * from 表 where id in("&id&")"
else
sql="delete * from 表 where id="&id&""
end if
conn.execute(sql)

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧