利用JQuery与
PHP实现无刷新删除数据库数据
,这个小功能一共需要三个文件
,一个JS,两个
PHP文件
。 首先本例基于留言本整理版修改
。 我们使用了jquery.js来实现ajax和dom删除
首先加入<scripttype="text/javascript"src="lib/jquery.js"></script>
给table加个id="t<!--{$item.id}-->"
写个js:
<script>
functiondelItem(id){
$.get('delete.php?id='+id,null,function(msg){//ajax请求,请求后执行下面代码
if('1'==msg){//返回1表示成功
$('#t'+id).remove();//把id为txx的表格删除
}else{//否则弹出错误信息
alert(msg);
}
});
}
</script>
删除链接改成href="javascript:delItem('<!--{$item.id}-->')"
delete.php的修改就是把错误语句改成直接输出就行了。
OK完成。
index.tpl:
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="
http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
<title>所有留言</title>
<linkrel="stylesheet"type="text/css"href="http://school.cnd8.com/php/jiaocheng/style.css"media="all"/>
<scripttype="text/javascript"src="lib/jquery.js"></script>
</head>
<body>
<!--{if$smarty.session.username}-->
Welcome:<!--{$smarty.session.username}-->
<ahref="logout.php">退出</a>
<!--{else}-->
<ahref="login.php">登录</a>
<ahref="reg.php">注册</a>
<!--{/if}-->
<ahref="add.php">发表留言</a>
<!--{foreachfrom=$gblistitem=item}-->
<tableid="t<!--{$item.id}-->"width="700"border="0"cellspacing="0"cellpadding="0"class="tb">
<tr>
<tdclass="bg"><b>[<!--{$item.username}-->]</b>发表于:<!--{$item.insert_time}--></td>
</tr>
<tr>
<td><!--{$item.content}-->
<br/>
<!--{if$item.user_file}-->
附件:<atarget="_blank"href="uploads/<!--{$item.user_file}-->"><!--{$item.user_file}--></a>
<!--{/if}-->
</td>
</tr>
<tr>
<tdalign="right"><!--{if$item.user_id==$smarty.session.user_id}--><ahref="add.php?id=<!--{$item.id}-->">修改</a><ahref="javascript:delItem('<!--{$item.id}-->')">删除</a><!--{/if}--></td>
</tr>
</table>
<!--{/foreach}-->
<!--{$pagePanel}-->
<script>
functiondelItem(id){
$.get('delete.php?id='+id,null,function(msg){
if('1'==msg){
$('#t'+id).remove();
}else{
alert(msg);
}
});
}
</script>
</body>
</html>
delete.php:
<?php
require('common.php');
//查询出留言信息
$q=$query->query('select*fromgb_contentwhereid='.intval($_GET['id']));
$rs=$query->fetch_array($q);
$error=array();
if($rs['user_id']!=intval($_SESSION['user_id'])){//判断user_id是否相同
$error='该信息你不能删除,只能删除自己发布的';
}
if(!$error){
$query->query('deletefromgb_contentwhereid='.intval($_GET['id']));//删除语句
if($rs['user_file']){//删除附件
@unlink('uploads/'.$rs['user_file']);
}
echo1;//表示成功
}else{
echo$error;
}
?>