最好的辦法是,在應(yīng)用程序生命周期內(nèi),對(duì)于數(shù)據(jù)庫設(shè)置有事件鉤子,用于監(jiān)聽程序?qū)τ跀?shù)據(jù)庫的操作。這樣非常方便處理邏輯流程。
為企業(yè)提供網(wǎng)站制作、成都做網(wǎng)站、網(wǎng)站優(yōu)化、成都營銷網(wǎng)站建設(shè)、競(jìng)價(jià)托管、品牌運(yùn)營等營銷獲客服務(wù)。創(chuàng)新互聯(lián)擁有網(wǎng)絡(luò)營銷運(yùn)營團(tuán)隊(duì),以豐富的互聯(lián)網(wǎng)營銷經(jīng)驗(yàn)助力企業(yè)精準(zhǔn)獲客,真正落地解決中小企業(yè)營銷獲客難題,做到“讓獲客更簡(jiǎn)單”。自創(chuàng)立至今,成功用技術(shù)實(shí)力解決了企業(yè)“網(wǎng)站建設(shè)、網(wǎng)絡(luò)品牌塑造、網(wǎng)絡(luò)營銷”三大難題,同時(shí)降低了營銷成本,提高了有效客戶轉(zhuǎn)化率,獲得了眾多企業(yè)客戶的高度認(rèn)可!
1 - 表的數(shù)據(jù)變化
表數(shù)據(jù)發(fā)生了變化,毫無疑問是寫操作,包括以下幾種情形:
新建條目 create
更新條目 update
刪除條目 delete
以上三種都是寫操作,會(huì)對(duì)表數(shù)據(jù)寫入。
2 - 事件鉤子
既然需要實(shí)時(shí)監(jiān)控,那么每個(gè)數(shù)據(jù)庫的操作,都需要考慮在內(nèi),這是全局的監(jiān)聽。
以laravel的Eloquent ORM 模型觸發(fā)事件,允許你掛接到模型生命周期的如下節(jié)點(diǎn): retrieved、creating、created、updating、updated、saving、saved、deleting、deleted、restoring 和 restored。事件允許你每當(dāng)特定模型保存或更新數(shù)據(jù)庫時(shí)執(zhí)行代碼。每個(gè)事件通過其構(gòu)造器接受模型實(shí)例。
模型內(nèi)添加事件監(jiān)聽鉤子
如果重用率很高,那么使用觀察者 Observer 方式進(jìn)行監(jiān)聽更為高效。
Laravel Observer
結(jié)語
上面的方法要求讀者有l(wèi)aravel框架的使用基礎(chǔ),對(duì)于構(gòu)建中大型應(yīng)用非常有利。
你的意思是:數(shù)據(jù)庫一發(fā)生變化,你就得知道是嗎?
PHP無法實(shí)現(xiàn)這功能,
只有LINUX 跑 shell腳本,每X分鐘執(zhí)行查詢語句
要么就是你每執(zhí)行一條語句,寫入日志。
那你可以在插入數(shù)據(jù)庫那里設(shè)置監(jiān)聽呀,一有插入就往Android推送消息。
不然你只能通過每隔一段時(shí)間刷新一下讀取數(shù)據(jù)庫,看看有沒有更新,有就推送,沒有就繼續(xù)監(jiān)聽,這個(gè)你可以自己設(shè)置更新時(shí)間。
查詢頁面在例外一個(gè)php做,然后使用Ajax, 也就是你的keyup事件發(fā)生后,調(diào)用Ajax,ajax可以訪問服務(wù)器的任何文件,包括php, 并且能返回這個(gè)php的運(yùn)行完成后的輸出結(jié)果, 而且整個(gè)過程是在不刷新頁面的情況下完成的, 也就是Ajax在調(diào)用服務(wù)器文件的時(shí)候, 是后臺(tái)運(yùn)行的,你看不到他的運(yùn)行過程的!
至于Ajax具體怎么用,請(qǐng)百度學(xué)習(xí)一下!