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;

}

?>

  

时间: 2024-08-23 07:19:52

php + ajax实现 帖子点赞功能的相关文章

点赞功能

今天琢磨着搞了个点赞功能,因为考虑到个人网站没有根基,所以如果必须要登录才可以点赞的话那绝大部分人肯定转头就走. 如果不登录就可以点赞的话,就要动脑筋去防止刷赞了,我也去看过一些别的网站搞的投票功能,纯粹是以IP来控制,水的不能再水. 表设计如下: 用户ID  IP  浏览器信息  加上cookie  html5缓存  一共5重关卡  任何一关过不去  都点不了赞 流程从点赞的动作开始: 首先js写个变量isLike标志是否点过赞   初始化为否 点击赞图标后: $('body').on("cl

ajax的上拉功能

<div class="footReturn"> <!-- <a id="showcard" onClick="showcard()" class="submit" href="javascript:void(0)">保 存</a> --> <div class="window" id="windowcenter"

点评点赞功能的基本实现------个人观点

对于做这个功能的时候,我认为很简单,结果错误百出,我认为是notifyDataSetChanged()方法调用失败,结果打印日志,发现该方法被调用了. 然后我很费解,既然已经调用,为何不刷新出新的数据呢????最后的最后,当然是问度娘,度娘她告诉我,关于点赞功能的实现,她知道的其实并 不多,而点赞功能的效果动画确很精通.然后我尝试了几种方法: 1:在onResume()方法中重新绑定adapter,并调用notifyDataSetChanged()方法,结果连个鸡肋都不如,真是浪费感情. 2:然

JavaScript实现评论点赞功能

通过分析评论功能的逻辑关系,学会如何使用JavaScript实现评论.回复.点赞等各种功能 1.学会JavaScript处理日期和时间. 2.掌握Dom操作中的添加/删除子节点方法. 3.使用setTimeout设置定时器. 4.使用clearTimeout清除定时器以及事件代理的运用. 效果图: 1)实现删除分享内容功能 利用事件代理实现点击关闭按钮删除分享内容. 删除事件: 利用事件代理功能,在父元素节点上添加事件,以减少代码量和系统运行负荷. 事件代理的时候,使用事件对象中的srcElem

点赞功能实现 $(tag).css(&#39;属性&#39;, &#39;样式&#39;)

1. 创建标签 document.createElement() 2.$(tag).css('属性', 样式) 赋予标签属性样式 3.设置定时器 改变位置 大小 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .container{ padding:

微信点赞功能测试用例

测试用例: ①点赞和取消点赞功能 ②点赞是否按时间顺序显示 ③点赞是否正确显示昵称或备注 ④点赞之后是否还能评论 ⑤弱网络的情况下点赞能否实时更新 ⑥点赞时有短信或电话进来,能否显示点赞情况 ⑦点赞的人是否在可见分组里 ⑧点赞之后共同好友的点赞和评论是否会提醒你 原文地址:https://www.cnblogs.com/shallwebegin/p/11621991.html

全栈项目|小书架|服务器端-NodeJS+Koa2 实现点赞功能

效果图 接口分析 通过上面的效果图可以看出,点赞入口主要是在书籍的详情页面. 而书籍详情页面,有以下几个功能是和点赞有关的: 获取点赞状态 点赞 取消点赞 所以项目中理论上与点赞相关的接口就以上三个. 点赞 model 的设计 既然明确了接口数量,那么下一步就是设计接口对应的model,通过model生成表格like,里面存放点赞数据. 那么需要存在哪些点赞数据呢? 这里简单分析后,记录一条点赞信息只需要保存以下的信息即可: 点赞 id 书籍 id 用户 id created_at delete

ajax+php+mysql实现无刷新点赞功能

从动态图看出来,点击赞的按钮的时候,旁边的赞数量在无刷新地增加.打开数据库也能看到赞数量更新了. 原理就是通过ajax异步提交数据给数据库.首先前端页面就是一个按钮和赞数量. 数据库名,test,表名zan,字段zan ajaxindex.php <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>异步提交</title> <script s

Python学习---抽屉框架分析[点赞功能/文件上传分析]0317

点赞功能分析 前台传递过来新闻id[new_id]和session[session内有用户ID和用户之间的信息]到后台 后台News数据库内用户和新闻是多对多的关系,查看第三张表中的内容,判读用户Id所对应的信息里有没有new_id,如果有则remove[取消点赞],否则增加一条点赞 obj = News.objects.get(new_id=id) b = obj.favor.filter(uid=request.session['uid']).count() if b: obj.remove