php代码class MessageModel extends Model {

public $_fields = array(

//字段

'id' => 'Id',

'title' =>'title',

'content' =>'content',

'addtime' =>'addtime'

);

//自动验证

protected $_validate = array();

//自动完成

protected $_auto = array();

//会员id

private $member_id='';

//新消息id

private $message_id='';

//老消息id

private $old_message='';

private $old_ids = '';

private $OBJ;

/**

*

* @example $re = D("Message");$re->setMember('1');$ar = $re->delMessage(4);

* @param unknown $member_id

*/

public function setMember($member_id,$OBJ = null)

{

$this->member_id = $member_id;

$memberObj = D('Member');

if($OBJ instanceof $memberObj){

$this->OBJ = $OBJ;

}else {

$this->OBJ = $memberObj;

}

}

/**

* 将messageid写入会员信息表中

* @param unknown $message_id

* @param number $read 0未读,1已读

*/

public function writeMessage($message_id,$read = 0)

{

$this->message_id = $message_id;

$this->getOldMessIds();

$message_ids = $this->old_message.$this->message_id.',';

if ($read ==1){

$message_ids = '';

$arr = explode(',',substr($this->old_message,0,-1));

if(in_array($message_id,$arr))

{

$message_ids = preg_replace('/,'.$message_id.',/',',-'.$message_id.',',','.$this->old_message);

$message_ids = substr($message_ids,1);

}

}

$data = array(

'message_ids' => $message_ids

);

return $this->OBJ->where("id = {$this->member_id}")->save($data);

}

/**

* 获得会员信息表中的messageid

*/

public function getOldMessIds()

{

$member_info = $this->OBJ->where("id = {$this->member_id}")->find();

if(!empty($member_info))

{

$this->old_message = $member_info['message_ids'];

}

}

/**

* 获取所有信息ID

* @return Ambigous

*/

public function getMessIds()

{

$member_info = $this->OBJ->where("id = {$this->member_id}")->find();

$message = null;

$this->old_ids = $member_info['message_ids'];

if(!empty($member_info))

{

$message = str_replace('-','',$member_info['message_ids']);

}

return $message;

}

/**

* 获取未读信息ID

* @return Ambigous

*/

public function readMessage()

{

$arr = array();

$this->getOldMessIds();

if(count($this->old_message)>0)

{

$this->old_message = substr($this->old_message,0,-1);

$arr = explode(',',$this->old_message);

foreach ($arr as $key =>$value) {

if(stristr($value,"-")===false)

{

unset ($arr[$key]);

}else {

$arr[$key] = abs($arr[$key]);

}

}

}

return $arr;

}

/**

*

* @param unknown $message_id

* @return boolean|\Think\boolean

*/

public function delMessage($message_id) {

$arr = array();

$this->getOldMessIds();

$message_ids = $this->old_message;

if($this->old_message)

{

$this->old_message = substr($this->old_message,0,-1);

$arr = explode(',',$this->old_message);

foreach ($arr as $key =>$value) {

if($message_id==$value)

{

unset ($arr[$key]);

break;

}

if('-'.$message_id==$value)

{

unset ($arr[$key]);

break;

}

}

if(count($arr)>0)

{

$message_ids = implode(',',$arr);

$message_ids =$message_ids.',';

}

else

{

$message_ids = '';

}

}

$data = array(

'message_ids' => $message_ids

);

return $this->OBJ->where("id = {$this->member_id}")->save($data);

}

/**

* 注意如果 $member_id 值的变化

* @param unknown $title

* @param unknown $content

* @param unknown $member_id

* @return boolean|\Think\boolean

*/

public function sendToMember($title,$content,$member_id = '') {

set_time_limit(0);

//插入$content

$arr = array();

$arr['title'] =$title;

$arr['content'] = $content;

$id = $this->add($arr);

if($id === false)

{

return false;

}

else

{

if(is_array($member_id)){

$this->member_id = join(',',$member_id);

}

return $this->writeMessage($id);

}

}

}

相关标签:站内消息

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

站内信息 php,站内消息_php教程相关推荐

  1. php+实现群发微信模板消息_php实现发送微信模板消息的方法,php信模板消息_PHP教程...

    php实现发送微信模板消息的方法,php信模板消息 本文实例讲述了php实现发送微信模板消息的方法.分享给大家供大家参考.具体如下: 该方法基于thinkphp实现实现,具体OrderPush.cla ...

  2. 央视网上线独立搜索页面索引站内信息:Search.cctv.com

    这几天互联网大事不断,百度被黑,Google退出中国... 今天,央视网近日低调推出名为"央视搜索"的独立搜索页面(search.cctv.com). 该搜索仅索引央视网站内信息, ...

  3. 在武汉火车站转车需要出现吗_武汉火车站可以在站内换乘哪些站 武汉地铁6号线和1号线/13号线换乘...

    武汉火车站位于地铁4号线上,目前武汉火车站不可以站内换乘,因为它不是换乘站,不过在武汉地铁规划中,将来会有地铁10号线.5号线.19号线等换乘.此外我们再来了解一下武汉地铁6号线和1号线/13号线换乘 ...

  4. 网站SEO优化 站内优化和站外优化的具体内容和区别

    随着互联网的发展,越来越多的企业开始意识到网络营销的重要性.对于想要在互联网上获得更多曝光和流量的企业来说,搜索引擎优化(SEO)已经成为一种非常有效的方式.在SEO中,站内优化和站外优化是两个非常重 ...

  5. python 内网镜像站_搭建私有YUM仓库与内网镜像站

    原标题:搭建私有YUM仓库与内网镜像站 搭建私有YUM仓库 私有yum仓库环境 系统版本:centos7.4 IP:192.168.1.47 #最好能上公网 私有yum仓库服务端配置 第一:创建使用y ...

  6. php 大型网站内链,网站SEO关键词优化如何做好站内链接即网站内链?

    网站SEO关键词优化如何做好站内链接即网站内链? 这篇记录文章应该主要算是一个思维探讨. 针对网站SEO关键词优化怎么做好站内链接即网站内链(以下简称:网站内链),理想化,大家将网站内链比作一张网,蜘 ...

  7. 网页内嵌B站视频,隐藏相关控件

    网页内嵌 B 站视频主要是用 ifame , 其地址是: https://player.bilibili.com/player.html?cid=&aid=84267566&page= ...

  8. 亚马逊的推广包括站内推广和站外推广

    对于亚马逊而言,产品的转化率是非常重要的,除了产品的本身运营可以提高转化率之外,亚马逊卖家还会通过推广的方式引发订单的转化.目前亚马逊的推广主要分为站内推广和站外推广.这两种推广方式并没有什么高下之分 ...

  9. 谷歌SEO优化包含站外SEO、站内SEO以及技术SEO三个方面

    歌SEO排名优化需要一个循序渐进的过程的!想要做好谷歌SEO排名必须要有一个完整的优化方案!通常情况下谷歌SEO优化包含站外SEO.站内SEO以及技术SEO三个方面,下面有一话将会从这几个方面来为您提 ...

最新文章

  1. 日本光伏相关企业倒闭数量上升 帝国征信调查
  2. 算法---计数质数(Java)
  3. matlab里performance,关于神经网络performance图的问题
  4. ALEIDoc EDI(3)--change point01
  5. 新版SVT-AVS3发布 编码效率提升并提供更灵活的编码工具
  6. c 僵尸进程_演示僵尸进程的C程序
  7. Kotlin Native新增Objective-C互操作能力以及对WebAssembly的支持
  8. andriod开发增加一个菜单
  9. Collections.sort的两个方法
  10. 不重复点名抽奖_抽奖新玩法?和平精英蜘蛛异变套装上线 参与十次可获得所有奖励...
  11. java输入验证码代码,JavaWeb 实现验证码功能(demo)
  12. MySQL MVCC原理
  13. 周莫凡python_机器学习 | 莫烦Python
  14. 纯Qt版中国象棋:实现双人对战、人机对战及网络对战
  15. PackageManager(管理应用程序包)解析
  16. 计算机人工智能论文参考文献格式,人工智能论文参考文献范例借鉴
  17. Bt(宝塔面板)安装wordpress以及如何开启最简单实用的动静分离优化
  18. 程序员应该避开的20个低级不良用户体验
  19. [附源码]Nodejs计算机毕业设计木棉堂水果电商平台Express(程序+LW)
  20. 迪士尼正在寻找一个区块链实习生

热门文章

  1. GAN(Generative Adversarial Network,GAN)模型之:SeqGAN、IRGAN、StackGAN、BigBiGAN、GAIN模型
  2. 机器学习调参与贝叶斯优化及其典型python实现hyperopt
  3. c语言大作业菜单管理,C语言大作业:编写菜单控制猜商品价格程序
  4. python 南京大学_南京大学python课程系列笔记之python基础之第一周:走进python
  5. pip3 install numpy
  6. 笔记本上的小键盘计算机怎样用,笔记本小键盘怎么开,详细教您笔记本小键盘怎么开启...
  7. matlab节约里程法_芳烃产业链里程碑:唐山旭阳30万吨/年苯乙烯项目一次性开车成功...
  8. three.js 背景图片
  9. python vars 的用法
  10. 【rnnoise源码分析】rnn_train中的训练模型