phpcms 点赞_Phpcms 实现文章点赞功能 【原创】
具体思路如下,前台传文章id和点击事件的status值,点赞和取消赞都传status=1,默认传status=0,每刷新一次页面都与后台进行交互。
首先在数据库新建一个表,我这取表名为good,新建三个字段分别是自增长的id,文章的newsid和获取到的ip。
在wamp\www\phpcms\phpcms\model新建模型 good_model.class.php方便对数据库操作,代码如下:
defined('IN_PHPCMS') or exit('No permission resources.');
pc_base::load_sys_class('model', '', 0);
class good_model extends model {
public function __construct() {
$this->db_config = pc_base::load_config('database'); //加载数据库
$this->db_setting = 'default';
$this->table_name = 'good'; // 指向good表
parent::__construct();
}
}
?>
方法很简单,代码如下:
public function good() {
$json = array();
pc_base::load_app_func('global');
$ip = ip(); // 获取ip
$newsid = $_POST['id']; // 获取文章id
$status = $_POST['status']; // 获取状态值 默认不点赞和刷新页面都为零
$userinfo = array();
$userinfo['newsid'] = $_POST['id'];
$userinfo['ip'] = $ip;
$this->good_db = pc_base::load_model('good_model'); //加载模型
$info = $this->good_db->select($where=" newsid = '$newsid' AND ip = '$ip' ",$data = '*',$sql); // 查询数据库
$num = count($info); // $num>0,表示此ip已点过赞
if ( $status == 1 && $num >0) {
$this->good_db->delete($where=" newsid = '$newsid' AND ip = '$ip' "); // 删除数据,取消该ip点赞
$json['flag'] = 0;
}elseif($status == 1 && $num == 0) {
$this->good_db->insert($userinfo, array('newsid'=>'$newsid')); //插入数据,表示该ip已点过赞
$json['flag'] = 1;
}
if ( $status == 0 && $num >0) { //刷新页面时的判断
$json['flag'] = 1;
}elseif($status == 0 && $num == 0) {
$json['flag'] = 0;
}
$more = $this->good_db->select($where=" newsid = '$newsid' AND ip = '$ip' ",$data = '*',$sql);
$total = count($more); //计该id文章点赞的次数
$json['count'] = $total;
echo json_encode($json);
}
转载时请注明出处及相应链接,本文永久地址:https://blog.yayuanzi.com/9208.html
微信打赏
支付宝打赏
感谢您对作者Bruin的打赏,我们会更加努力! 如果您想成为作者,请点我
phpcms 点赞_Phpcms 实现文章点赞功能 【原创】相关推荐
- Redis + DB +消息队列 实现高效的文章点赞,点踩功能
需求说明 用户可点赞或踩,每赞一次,"赞"数量+1,每踩一次,"踩"数量+1,"点赞"和"点踩" 当天内二选一当天内有效 ...
- 点赞功能模块-文章点赞功能实现
PraiseController.java //点赞文章@RequestMapping(value = "on",method = RequestMethod.POST,consu ...
- 微信小程序 文章点赞功能
小程序给文章点赞 资讯列表页 详情页 小程序前端代码: (在前端添加点击事件 bindtap='update') <view style='padding-top:30rpx;width:93 ...
- CSDN文章点赞、收藏、评论后到底发生了什么?简要分析HTTP交互机制
作者:Eason_LYC 悲观者预言失败,十言九中. 乐观者创造奇迹,一次即可. 一个人的价值,在于他拥有的,而不是他会的.所以可以不学无数,但不能一无所有! 技术领域:WEB安全.网络攻防 关注WE ...
- redis系列:通过文章点赞排名案例学习sortedset命令
前言 这一篇文章将讲述Redis中的sortedset类型命令,同样也是通过demo来讲述,其他部分这里就不在赘述了. 项目Github地址:https://github.com/rainbowda/ ...
- zblog php 点赞,文章点赞开发版
该插件主要面向主题制作者,方便主题制作者快速生成点赞.支持.顶踩功能! 安装并启用该插件后,主题制作者无需编写php后台代码,在模板文件中插入指定标签即可. 10/26:修正使用加速乐等cdn时获取I ...
- 划重点,如何提升微信文章点赞?
微信文章的一个阅读数,代表一个人点进过这篇文章,但是无法确定是否已经看完.一个点赞,代表一个人对文章有着一定程度的认同,不一定读完文章,但至少拖到了最后,让文末的"阅读原文"提示或 ...
- php微信小程序如何无限点赞,小程序中点赞和收藏功能的实现代码
小程序中的点赞功能和收藏功能是必不可少的,那么该如何实现点赞和收藏两个功能呢?本篇文章将给大家分享小程序中的点赞功能和收藏功能的代码实现. 收藏功能:focusFavoriteTab: functio ...
- wordpress 点赞 ajax,WordPress不用插件实现文章AJAX点赞、文章点赞排行
WordPress点赞功能虽然对网站整体的SEO优化意义不大,但是如果很多人给你的文章点赞,那就是说文章得到了更多人的认可,你的文章给别人带来了帮助. 如果再加上一个文章点赞排行,那么就可以很精准的分 ...
最新文章
- PHP 接入(第三方登录)QQ 登录 OAuth2.0 过程中遇到的坑
- 两个列表之间移动数据
- 随机森林算法4种实现方法对比测试:DolphinDB速度最快,XGBoost表现最差
- Shell中的${}、##和%%使用范例
- EntityManager:seam新手必读(二)
- 在阅读文献中提高升华自己--转
- boost::endian模块实现conversion的测试程序
- Linux:入门基础
- Nagios+pnp4nagios+rrdtool 安装配置nagios(一)
- php html转为pdf文件,php使用wkhtmltopdf实现html转pdf
- python 类定义 垃圾_什么是python对象摧毁?python中的对象摧毁(垃圾回收)机制是什么?...
- 当前监管面比较关注的企业征信模型
- libevent和基于libevent的网络编程
- Jupyter Notebook代码提示及补齐功能
- 【零基础学Java】—继承父类并实现多个接口(二十五)
- ORA-06413 连接未打开的处理办法【独家办法】
- 记录wuyi公积金调用过程
- 配置本地DNS服务器地址
- html页面嵌入高德地图,高德地图WEB版基础控件展示
- TOP100summit分享实录 | JFrog高欣:Kubernetes is hard!JFrog的Kubernetes实践
热门文章
- mysql保存word文档_mysql 保存word
- 二次开发 外包项目利器 springmvc SSM后台框架源码
- 高能来袭,CG世纪交易所合约交易公测正式启动
- Mysql使用索引为什么会变快?
- 计算机c盘最好多少储存空间,Windows10系统C盘分配多少空间合适?合理划分win10C盘空间的方法...
- Android 5.1 解决打开手电筒后,无法打开相机问题
- MySQL如何查询同姓的员工?
- 【iOS】通过bundleId查询应用信息
- 产生死锁的原因以及快速定位死锁的位置
- springboot ajax form json 请求方式