2011-07-19 73 views
3

我期待了解AJAX,並且我認爲這是一個可以教會我的簡單問題。假設我在數據庫中有一個表,用戶添加了新的條目。我想構建一個網頁,在添加新條目時顯示最新的n個條目,而無需刷新整個頁面。我應該從哪裏開始解決這個問題?將數據庫中的更改推送到網頁而無需更新

+0

下一步使用類似技術,使您的網站實時http://pusher.com(ETC) – Alfred

回答

5

看看jquery

它很容易與jQuery和它看起來像

$("#your_div").load('new_entries.php'); 

//new_entries.php

include("db_connect.php"); 
$result = mysql_query("SELECT * FROM new_entries"); 
while($row = mysql_fetch_assoc($result)){ 
    echo $row['id']." has new value: ".$row['value']; 
} 

表看起來像

CREATE TABLE `new_entries` (
    `id` int NOT NULL AUTO_INCREMENT PRIMARY KEY, 
    `value` varchar(99) NOT NULL 
); 
+0

我應該有使用setInterval()使這個實時? – Richard

+0

@Richard:是的,如果你想每十秒輪詢一次,使用setInterval() – genesis

+0

@Richard:你會接受我的問題嗎? – genesis

1

基本上AJAX是這樣工作的。 您的用戶在html頁面上更新表單,然後單擊提交或檢測到更改。 調用一個javascript函數,它打開一個服務器連接,並將更新的數據發送到php或服務器文件,該文件更新數據庫並重新加載新數據並將其返回。 這個相同的javascript函數然後等待服務器的回覆,服務器已經發回了新的數據。 然後javascript函數可以使用來自服務器的新數據更新html。 不刷新頁面。

所以你需要一個AJAX javascript函數和一些服務器端代碼來處理數據庫更新。

jQuery庫已預構建AJAX功能,這就是爲什麼這麼多用it.this