你的意思是:数据库一发生变化,你就得知道是吗?
PHP无法实现这功能,
只有LINUX 跑 shell脚本,每X分钟执行查询语句
要么就是你每执行一条语句,写入日志.
楼上说的还是要定时检测
不论怎么做,绕来绕去都是一样的,都是需要定时检测.
Ajax 控制一个异步PHP程序来检测数据库,然后返回值,供调用.
最好的办法是,在应用程序生命周期内,对于数据库设置有事件钩子,用于监听程序对于数据库的操作.这样非常方便处理逻辑流程.
①. - 表的数据变化
表数据发生了变化,毫无疑问是写操作,包括以下几种情形:
新建条目 create
更新条目 update
删除条目 delete
以上三种都是写操作,会对表数据写入.
既然需要实时监控,那么每个数据库的操作,都需要考虑在内,这是全局的监听.
以laravel的Eloquent ORM 模型触发事件,允许你挂接到模型生命周期的如下节点: retrieved、creating、created、updating、updated、saving、saved、deleting、deleted、restoring 和 restored.事件允许你每当特定模型保存或更新数据库时执行代码.每个事件通过其构造器接受模型实例.
模型内添加事件监听钩子
如果重用率很高,那么使用观察者 Observer 方式进行监听更为高效.
Laravel Observer
结语
上面的方法要求读者有laravel框架的使用基础,对于构建中大型应用非常有利.
可以用脚本来实现;
思路:
①创建一个ceshi.txt文件,内容是数据库内数据数量;
参考思路如下:
①.、在监听的时候把监听到的内容存储起来,数据库/文件/缓存都行.
那你可以在插入数据库那里设置监听呀,一有插入就往Android推送消息.
不然你只能通过每隔一段时间刷新一下读取数据库,看看有没有更新,有就推送,没有就继续监听,这个你可以自己设置更新时间.