微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php + ajax实现帖子点赞功能

知识:

一、首先页面需要加载jquery框架

二、ajax常用参数解释:

①、type:传输数据方式,get或者post

②、url:处理数据的PHP脚本

③、data:传输的数据索引及值,值用js获取,一般此属性为json串或字符串

④、async:参数为布尔类型,认为true,即异步传输,浏览器不锁定

⑤、complete:参数为方法跳转的脚本执行完成后的回调函数

⑥、success:参数为方法跳转的脚本执行成功后的回调函数

⑦、error:参数为方法跳转的脚本执行失败后的回调函数

三、脚本处理完成后将页面需要的数据return,之后在前端页面根据需求实现局部刷新,而不是进行跳转刷新,这是ajax最强大的地方

HTML代码部分:

<?PHP
$id = $_GET['id'];
require_once 'MysqLHelper.PHP';
$db = new MysqLHelper('localhost','root','root','dianzan');
$sql = select * from news where id = '$id';
$news = $db->GetoneData($sql);
 
 
 
?>
<!doctype html>
<html>
<head>
<script src=jquery-1.9.1.min.js></script>
<Meta charset=UTF-8>
</head>
<body>
<h1><?PHP echo $news['title'];?></h1>
<pre>
<?PHP echo $news['content'];?>
 
</pre>
<input type=hidden name=id value=<?PHP echo $id;?>>
点赞数:<span id=s><?PHP echo $news['dianzan'];?></span>
<button id=btn>点赞</button>
</body>
</html>

js代码

$(#btn).click(function(){
$.ajax({
url:index.PHP,
type:POST,
data:{id:<?PHP echo $id;?>},
async:false,
success:function(data){
if(data === false){
alert('点赞失败!');location.href='dianzan.PHP?id=<?PHP echo $id;?>';
}else{
alert('点赞成功!');$(#s).html(data);
}
}
})
})

PHP代码部分:

<?PHP
header(Content-type:text/html;charset=utf-8);
require_once 'MysqLHelper.PHP';
$db = new MysqLHelper('localhost','root','root','dianzan');
$id = $_POST['id'];
$sql = UPDATE news SET dianzan = dianzan +1 WHERE id = '$id';
 
$res = $db->execsql($sql);
if($res){
$dz = $db->getoneData(select * from news where id = '$id');
$dz = $dz['dianzan'];
echo $dz;
}else{
return false;
}
 
 
 
 
?>

更多PHP相关知识,请访问PHP教程

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐