心血来潮想为自己的小项目做一个提醒系统,譬如私信,评论等消息都能及时传递过来。由于道行尚浅,网上那些长轮询对于我略微复杂,于是觉得还是自己写一写试试比较好。
我的思路是,单独在数据库中建一个提醒表,表主要由接收者的id和消息类型两个字段组成
/* 前台提醒表 */ CREATE TABLE IF NOT EXISTS notification( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, -- 主键自增 mid INT NOT NULL DEFAULT 0, -- 用户id type INT NOT NULL DEFAULT 0 -- 0:私信 1:帖子评论 2:商品售出 3:商品评论 4:小组申请已发送 5:小组创建成功 6:小组新成员加入 7:小组旧成员退出 8:活动邀请 )ENGINE=MyISAM DEFAULT CHARSET=UTF8;
然后在前台页面中写一个递归函数,用来请求Ajax。
function require() { var url = "{U('Group/checkNotify')}"; $.get(url,null,function(data) { // 如果获得的数据不为空,则显示提醒 if ($.trim(data) != '') { // 这里写提醒的方式 alert('haha'); } }); // 每三秒请求一次 setTimeout('require()',3000); }
在后台查询三秒前到当前时刻数据库中是否有数据插入,如果有,则返回所需要的信息
public function checkNotify() { // 实例化自定义的模型类 $Notify = D("Notification"); // 获取当前用户的id $mid = $_SESSION['member']['id']; // 由于Ajax三秒钟才执行一次,所以新数据的插入时间要晚于查询的的请求时间(当前时间)三秒钟 $time = time() - 3; // 准备查询条件 $where = "mid = $mid and created>$time"; // 查找数据库中是否有新数据插入 $bool = $Notify->where($where)->find(); // 如果查询结果非空,则输出结果集第零条数据的type参数,即提醒类型,然后再从数据库对应表中获取提醒内容 //本测试默认3秒中内只有一条消息,如果想更加精确,也可以缩短请求时间 if ($bool != null) { //测试数据 echo $bool[0]['type']; }; }
当然,要让文档载入完毕后就执行该函数
<body onload="javascript:return require();">
以上所述是小编给大家介绍的jQuery+ThinkPHP+Ajax实现即时消息提醒功能实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!
本文向大家介绍Laravel admin实现消息提醒、播放音频功能,包括了Laravel admin实现消息提醒、播放音频功能的使用技巧和注意事项,需要的朋友参考一下 应用情景,有新的订单生成,后台进行消息提醒并播放音频(这里用到轮询简单实现):下面附代码 1.找到laravel-admin 中的 index.blade.php 文件进行编辑 2.请求路由控制器 实现效果: 注意: 使用G
本文向大家介绍kotlin实现通知栏提醒功能示例代码,包括了kotlin实现通知栏提醒功能示例代码的使用技巧和注意事项,需要的朋友参考一下 一、概述 2019年英雄联盟LPL赛区赛季赛打得火热,作为一个RNG粉丝,想通过app实现RNG赛程提醒,于是就有了这次技术实践。我在网上找了很久,几乎没找到使用kotlin实现通知栏提醒的合适的文章,于是就到安卓官网看文档,一边翻译一边研究,最终实现了一个简
本文向大家介绍jquery ajax实现文件上传功能实例代码,包括了jquery ajax实现文件上传功能实例代码的使用技巧和注意事项,需要的朋友参考一下 下面看下ajax实现文件上传 没有使用插件 一、单文件上传 二、多文件上传 这个是多选上传,关键是multiple="multiple"这个属性,另外使用的接口也是多文件上传的接口。 当然也可以使用单文件上传的模式,多次选择就可以了,只
本文向大家介绍thinkPHP订单数字提醒功能的实现方法,包括了thinkPHP订单数字提醒功能的实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了thinkPHP订单数字提醒功能的实现方法。分享给大家供大家参考,具体如下: 运行效果图如下: html: php: 本次采用数组的形式传值,具有统一性。 再加一个固定布局效果 css: 更多关于thinkPHP相关内容感兴趣的读者可查看
本文向大家介绍ThinkPHP实现ajax仿官网搜索功能实例,包括了ThinkPHP实现ajax仿官网搜索功能实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了ThinkPHP实现ajax仿官网搜索功能的方法。分享给大家供大家参考。 具体实现方法如下: 后台代码: 前端代码: 希望本文所述对大家的ThinkPHP框架程序设计有所帮助。
本文向大家介绍Android实现每天定时提醒功能,包括了Android实现每天定时提醒功能的使用技巧和注意事项,需要的朋友参考一下 这个是设置定时提醒的功能,即设置几点几分后提醒,用的是给系统设置个时间点,当系统时间到达设置的时间点的时候就会给我们发送一个广播,然后达到时间提醒功能 网上找了很多,遇到了很多坑,经过摸索出来的,比如下面设置重复时间的第二个参数,网上有很多说是执行提醒延时多少毫秒执行
本文向大家介绍Android后台定时提醒功能实现,包括了Android后台定时提醒功能实现的使用技巧和注意事项,需要的朋友参考一下 前提:考虑到自己每次在敲代码或者打游戏的时候总是会不注意时间,一不留神就对着电脑连续3个小时以上,对眼睛的伤害还是挺大的,重度近视了可是会遗传给将来的孩子的呀,可能老婆都跟别人跑了。 于是,为了保护眼睛,便做了个如下的应用: 打开后效果: 时间到之后有后台提醒: 好了
本文向大家介绍jQuery实现下拉加载功能实例代码,包括了jQuery实现下拉加载功能实例代码的使用技巧和注意事项,需要的朋友参考一下 废话不多说了,直接给大家贴代码了,具体代码如下所示: 以上代码是小编给大家分享的jQuery实现下拉加载功能实例代码,希望对大家有所帮助!