时间:2021-05-26
记录每个赞的点赞用户,以及对赞的数量统计
首先判断用户是否点赞。根据是否点赞,载入不同的html,调用不同的方法
已点赞
如果已点赞,显示已点赞的html,进行取消点赞操作
未点赞
如果未点赞,显示未点赞的html,进行点赞操作
对于不同操作,对数据库进行增加或减少操作。同时对于不同用户的点赞,进行增加记录或删除记录操作。通过控制不同按钮的背景,来显示不同的效果。通过记录不同用户的用户id和赞的id之间的关系,进行不同点赞的限制。
效果演示
当用户id为1时,进行点赞,点赞数加1
更改用户id,当id为2时,用户1的用户已进行了点赞,点赞数在用户1点赞基础上增加1
数据库
数据库,分为两个数据表。一个进行对点赞数的统计,一个进行不同用户的点赞记录。
两个数据表的详细信息
连接数据库
$con = new mysqli('localhost','root','','test'); if (!$con) { die('连接数据库失败,失败原因:' . mysqli_error()); }else { // echo "连接成功"; }对用户是否点赞进行判断(操作页面)
对数据库的信息进行提取
//假设用户编号为1 $uId="1"; //假设赞编号为1 $zanId="1"; //查找赞id为1的点赞数 $count=mysqli_query($con, "SELECT count FROM zanCount WHERE zanId=$zanId "); $countResult=mysqli_fetch_array($count); $countZan=$countResult['count']; //查找改用户是否对赞id为1 点赞 $uIdLike=mysqli_query($con, "SELECT * FROM zanRecord WHERE uId=$uId "); $result=mysqli_fetch_array($uIdLike);对用户是否点赞进行判断,并输出不同的html
//点赞if (isset($result)) { $showZan.=<<<html <div class="dolikeDIV" id="dolikeDIV"> <button id="dolike" οnclick="zanDel()"></button> <span id="zan">$countZan</span> </div>html; } //没点赞 else { $showZan.=<<<html <div class="dolikeDIV" id="dolikeDIV"> <button id="donolike" οnclick="zan()"></button> <span id="zan">$countZan</span> </div>html; } echo $showZan; ?>css样式
#dolike, #donolike { width:30px; height:30px; margin-left:20px; float:left;}#donolike {background:url(./images/nolike.png); background-size:30px 30px; }#dolike{background:url(./images/like.png); background-size:30px 30px; }调用的ajax方法
传递需要的数据,这里传递的时zanId 和uId
记得引入jq文件
点赞
取消点赞
function zanDel(){ $.ajax({ type:"POST", url:"./disSever.php", data:{'zanId':$("#zanId").val(),'uId':$("#uId").val()}, success:function(text){ $("#dolikeDIV").html(text); } }); }处理代码
点赞处理
//更新赞总数的数据 mysqli_query($con,"UPDATE zanCount SET count = count+1 WHERE zanId=$zanId"); //添加一条点赞记录 mysqli_query($con,"INSERT INTO zanRecord(zanId,uId) VALUES($zanId, $uId); "); //查找赞的总数 @$count=mysqli_query($con, "SELECT count FROM zanCount WHERE zanId=$zanId "); @$countResult=mysqli_fetch_array($count); @$countZan=$countResult['count']; //更改输出的html $show=""; $show=<<<html <button id="dolike" οnclick="zanDel()"></button> <span id="zan">$countZan</span>html; echo $show;取消点赞处理
//更新赞总数的数据 mysqli_query($con,"UPDATE zanCount SET count = count-1 WHERE zanId=$zanId"); //添加一条点赞记录 mysqli_query($con,"DELETE FROM zanRecord WHERE zanId=$zanId AND uId=$uId "); //查找赞的总数 @$count=mysqli_query($con, "SELECT count FROM zanCount WHERE zanId=$zanId "); @$countResult=mysqli_fetch_array($count); @$countZan=$countResult['count']; //更新html $show=""; $show.=<<<html <button id="donolike" οnclick="zan()"></button> <span id="zan">$countZan</span>html;点赞的图片
图片自己画的,有点不太美观
jq下载地址
完整demo下载
到此这篇关于php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次)的文章就介绍到这了,更多相关php+mysql+ajax 局部刷新点赞内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
抖音点赞受限是因为用户在抖音里进行点赞的时候,每个视频或评论都只能点赞一次,再次点击的话就会直接取消点赞,所以说是无法重复点赞的。抖音在点赞时出现点赞失败,是因
抖音限赞就是点赞的数量达到了最大,会显示“手速过快”,抖音点赞会限赞是因为抖音每个视频用户只能点赞一次,再次点赞会取消点赞。 抖音是一款音乐创意短视频社交软件
抖音点赞没有数量限制。抖音一天的点赞数是没有上限的。但每个视频或评论都只能点赞一次,再次点击的话就会直接取消点赞,所以是无法重复点赞的。 抖音(TikTok)
抖音点赞会限赞是因为抖音每个视频用户只能点赞一次,再次点赞会取消点赞。 抖音是一款音乐创意短视频社交软件,是一个专注年轻人的15秒音乐短视频社区。用户可以通过
抖音每日点赞没有限制。但每个视频或评论都只能点赞一次,再次点击的话就会直接取消点赞,所以是无法重复点赞的。 抖音(TikTok)是由今日头条推出的一款短视频分