> 백엔드 개발 > PHP 튜토리얼 > 如何实现动态侦听数据库变化呢

如何实现动态侦听数据库变化呢

WBOY
풀어 주다: 2016-06-13 12:57:05
원래의
1042명이 탐색했습니다.

怎么实现动态侦听数据库变化呢
想做一个购物网站,想要在有人购买商品的时候提示“有人购买了你的商品”这样的消息,但是怎么侦听数据库的变化呢?如果定时查询数据库应该很占资源吧?(1次/1s)。谢谢大家了


------解决方案--------------------
我明白楼主意思,他意思是当前台有人下单的时候后台人员能立马获取到下单信息,而不是刷新才看到。
我目前有以下几个办法,
1,写个邮件发送,当有客户人下单的时候在插入数据的时候把邮件发送到管理员邮件里,最好是QQ邮件,因为QQ能提醒,呵呵。这样当有人下单的时候就立即知道了,当然也可以用短信(但是要钱,而且还有延时)。
2,利用JS setInterval 每隔3秒就查看一下数据库是否有变化,如果有的话你可以做个QQ或旺旺的提示音来提示后台人员有新订单啦,我就是这样做的。
贴下我的代码:
var int=setInterval("clock()",20000);<br />
function clock(){<br />
  $("#call_div").html('<li>正在刷新屏幕。。。</li>');<br />
  var url = "extend/new_dd.php?cache="+Math.random();<br />
  $.get(url,function(result){<br />
		$("#call_div").html(result);<br />
  });<br />
}
로그인 후 복사

3,也是利用JS setInterval 但不是查询数据库,而且当有客户人下单,在插入数据的时候改变$_SESSION[odrer_state]里面内容为1,然后就是利用JS setInterval每隔3秒获取内容,如果为1的话就提未后台人员有订单了,如果后台有员看到了要点下处理再把$_SESSION[odrer_state]内容变为0。这样好处是不会因为过多查询而消耗数据库资源。

其实方法很多,要看你怎么用最合适。附上我网站这个功能的载图
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿