一個很好的例子就是facebook。有人評論他人後,所有人都可以看到更新彈出不只是你自己的網頁,並不需要刷新..我做了一個項目,監視或篩選出不好的評論..所以,如果有一個錯誤的評論插入數據庫然後它給我通知並彈出數據..任何幫助請..謝謝我使用PHP的服務器端語言。如何在數據庫插入或更新php或ajax後更新頁面
回答
您將需要從您的頁面發出AJAX請求來實現此目的。
當用戶執行操作時,您可以提交ajax請求並動態更新該用戶的頁面。其他人也會看到這一點。
'其他人也會看到' - 基於單個用戶的操作。當然,這需要每個人的頁面輪詢服務器的更新? – PassKit
有一個很好的PHP/MySQL/AJAX教程和下載可用here應該讓你開始。結合你的服務器端過濾邏輯和週期性的Ajax回調來保持每個人的頁面更新,你應該能夠實現你正在尋找的東西。
是的,總有一種方法。 您可以使用彗星編程和使用ajax和php進行長時間輪詢。
很好的缺點是使用彗星你的其他http請求將是Holt所以對於慧星你必須重寫最好的會話。
根據你的問題,我建議你使用myisam引擎,因爲它跟蹤數據庫最後修改時的時間戳,以便您知道數據庫何時更新。
樣本彗星代碼如下。
的index.php
<div id="content"></div>
<p id="form_container">
<form action="" method="get" onsubmit="comet.doRequest($('#word').val());$('#word').val('');return false;">
<input type="text" name="word" id="word" value="" />
<input type="submit" name="submit" value="Send" />
</form>
</p>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
var Comet = function (data_url)
{
this.timestamp = 0;
this.url = data_url;
this.noerror = true;
this.connect = function()
{
var self = this;
$.ajax(
{
type : 'post',
url : this.url,
dataType : 'json',
data :
{
'timestamp' : self.timestamp
},
success : function(response)
{
self.timestamp = response.timestamp;
self.handleResponse(response);
self.noerror = true;
},
complete : function(response)
{
if (!self.noerror)
{
setTimeout(function(){ comet.connect(); }, 5000);
}
else
{
self.connect();
}
self.noerror = false;
}
});
}
this.disconnect = function() {}
this.handleResponse = function(response)
{
$('#content').append('<div>' + response.msg + '</div>');
}
this.doRequest = function(request) {
$.ajax(
{
type : 'post',
url : this.url,
data :
{
'msg' : request
}
});
}
}
var comet = new Comet('./backend.php');
comet.connect();
</script>
backend.php
function get_date()
{
$query = mysql_query("show table status from weefavr like 'request_responses'")or die(mysql_error());
$row = array();
while($result = mysql_fetch_assoc($query))
{
$row[] = $result;
}
return strtotime($row[0]['Update_time']);
}
$lastmodif = isset($_POST['timestamp']) ? $_POST['timestamp'] : 0;
$currentmodif = get_date();
while ($currentmodif <= $lastmodif)
{
usleep(10000);
clearstatcache();
$currentmodif = get_date();
}
$query_db = mysql_query("SELECT UNIX_TIMESTAMP(last_update.created) AS DATE,last_update.* FROM last_update WHERE UNIX_TIMESTAMP(last_update.created) BETWEEN '".$lastmodif."' AND '".$currentmodif."'")or die(mysql_error());
$row_db = array();
$response = array();
while($result_db = mysql_fetch_assoc($query_db))
{
$response['msg'][] = $result_db['title'];
}
$response['timestamp'] = $currentmodif;
$response['lastmodif'] = $lastmodif;
echo json_encode($response);
flush();
這個例子是非常有用的,但我告訴你,你的其他的HTTP請求將無法正常工作。 所以你需要做一些關於會議和其他方面的黑客攻擊。
是的Facebook,gmail,asana和zaarly是使用彗星編程的大巨人。
希望這會有所幫助。 隨時問問歡呼...
這將是PHP和Ajax。 如果您需要它,基本introduction在這裏。 基本上你需要有一個網頁,通過JavaScript異步輪詢您的後端(PHP頁面),提供新的內容。你可以有一個Javascript計時器,甚至更復雜的設置,如後端「推送」到你的頁面。 我建議您查看其他page的示例。
- 1. 更新數據庫的Ajax計數警報或插入新行
- 2. PHP插入或更新表
- 3. 如何在插入或更新後更新DataGridview
- 4. PHP&MySQL InnoDB:在插入或更新後數據不可用
- 5. 如何在ajax頁面插入後更新yui菜單位置?
- 6. 更新或插入
- 7. 根據行數據插入或更新
- 8. Ajax/PHP:更新數據庫
- 9. 在數據庫中插入值或更新現有數據
- 10. 如何更新或插入比較來自數據庫
- 11. PHP MySQL的MSSQL如何插入或更新[ ']或[「]或[`]字符?
- 12. 插入表或更新如果存在使用MYSQL數據庫
- 13. MSSQL腳本數據插入或更新
- 14. 插入或更新Aerospike中的數據
- 15. 在asp.net中更新或刷新gridview時,在數據庫中有任何插入,更新或刪除
- 16. 數據庫:插入新行或更新現有行?
- 17. 腳本用於更新數據庫或插入新行
- 18. 更新或插入數據後,django模板不會更改MySQL
- 19. XMLHTTPREQUEST或AJAX更新面板?
- 20. 如何在數據庫插入後使用ajax刷新網頁
- 21. PHP或MySQL慣於更新數據庫
- 22. 如何在插入一行後更新或刷新DataGridView
- 23. 如何在插入更新或刪除之後刷新JTable
- 24. 更新/插入/數據庫
- 25. JTable如何在插入刪除或更新數據後刷新表模型。
- 26. 插入或更新映射模型數據到數據庫
- 27. 更新後更新頁面php
- 28. 如何:PHP Ajax頁面更新
- 29. firebird - 插入或更新觸發器後
- 30. 合併後插入或更新
使用AJAX通過'setInterval'檢查更新。 Google是你的朋友。 – Cerbrus
你寫過「..請任何幫助..」,但如果你不評論或回覆,那麼你將得到什麼樣的幫助。 –