作者 主題: 當資料庫更新資料,網頁會自動即時更新  (閱讀 19761 次)

0 會員 與 1 訪客 正在閱讀本文。

emailspirit

  • 可愛的小學生
  • *
  • 文章數: 4
    • 檢視個人資料
請問
在資料庫新增或刪除資料,
不用user按重新整理
網頁會自動即時更新
要資料庫更新網頁才更新
不是固定幾秒更新一次的那個喔!!
要怎麼寫這段程式呢?
我是用frontpage寫的asp網頁
所以沒有套件可以用
我上網爬文很多
好像是AJAX可以寫出這個功能
但是我沒有接觸過AJAX
可以請會的大大幫我忙嗎?
感謝!!感謝!!

twu2

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 5394
  • 性別: 男
    • 檢視個人資料
    • http://blog.teatime.com.tw/1
雖然用途差不多, 不過 ASP 的問題到 PHP 這兒問會不會很奇怪?
不會 AJAX 就去學吧, 學了不就會了. 只是... 用 AJAX 一樣是隔一段時間去問一次, 只不過是在幕後處理, 不知道這與你認為的即時一不一樣.

emailspirit

  • 可愛的小學生
  • *
  • 文章數: 4
    • 檢視個人資料
在asp有po可是沒人回
我是看到這裡有討論到ajax所以就想說來這裡發問!!
至於ajax
我就是一直爬文
看了很多
可是還是不太懂
所以才發問丫!!!

hoyo

  • 榮譽博士
  • 俺是博士!
  • *****
  • 文章數: 4047
  • 性別: 男
  • 有需要的時候,學習就不會分階段。
    • 檢視個人資料
    • 樂咖黑電腦學習網
AJAX 也是「根據設定時間更新」,
差別只在於「頁面不需重新讀取」

即時更新?什麼內容需要到「即時」更新?
你的即時代表的時間差是多久?
受人與魚,不如授人與漁
上海自來水來自海上;倫敦好奇人奇好敦倫

emailspirit

  • 可愛的小學生
  • *
  • 文章數: 4
    • 檢視個人資料
我是要
有資料輸入資料庫
才會更新頁面的資料

現在的狀況是
我資料輸入資料庫
要自己按重新整理
頁面才會出現新輸入的資料

不知道能不能資料輸入資料庫後
頁面自動讀取到資料庫資料有更新
就會自動更新頁面!!!

Yamaka

  • 俺是博士!
  • *****
  • 文章數: 4913
    • 檢視個人資料
    • http://www.ecmagic.com
樓主是要輸入者的頁面在輸入資料後能自動更新?
還是所有瀏覽者在相同的頁面, 某人輸入資料後也能自動更新?

(我覺得上面的討論好像有點雞同鴨講  ::) )

emailspirit

  • 可愛的小學生
  • *
  • 文章數: 4
    • 檢視個人資料
我重說好了!!
一個資料庫
一個網頁頁面
網頁頁面所顯示的資料是從資料庫讀出來的
所以資料庫如果有新增資料
網頁頁面就會出現資料庫裡所有的資料
現在問題是
我在資料庫新增資料後
網頁的頁面需要手動去重新整理
頁面的資料才會更新成最新的(就是剛新資的那筆資料和原本的資料都會顯示在頁面上)
但是這樣如果使用都沒有按重新整理的話
就不會看到剛新增的資料了!!
所以
希望能做到
當我在資料庫新增完一筆資料
按確定送出之後
網頁也同時讀到資料庫有新增一筆資料
自動更新

跟固定幾秒就自動更新一次很像
但是因為固定幾秒就自動更新這個方式
在資料庫沒有增加或改變資料時
也會一直固定的更新

所以我想是不是能做成
資料庫有增加或改變時
網頁的頁面才會自動更新!!!

不知道這樣有沒有比較清楚!!
謝謝大家的幫忙><

twu2

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 5394
  • 性別: 男
    • 檢視個人資料
    • http://blog.teatime.com.tw/1
AJAX 也是固定幾秒去問一次, 才會知道有沒有改變.
如果這個固定幾秒去問一次的作法你不接受, 那應該是做不到的.

對了, 這與網頁沒關係, 基本上, 所有 client/server 的開發方式, 應該都做不到你要的功能.
« 上次編輯: 2008-11-20 15:50 由 twu2 »

hikohan

  • 俺是博士!
  • *****
  • 文章數: 1288
    • 檢視個人資料
參考看看

ajax一直呼叫server,網路上會一直出現封包丟來丟去,機台數目一多,就有點恐怖。

伺服器不動,終端也不動,伺服器一動,終端聽命動作。

用在廣告機或者是字幕機上,這就很好用了,後台管理發佈,掛在牆上的螢幕就會出現發佈內容。

轉過來想,local以毫秒規格檢查記憶體裏面某一個值,遞迴中,又不能造成host的高載,當server push一個命令,或者socket聯結,變更host檢查的資料,host便立即更新網頁內容。
lifeIsFunWithPHP.

ian116688

  • 可愛的小學生
  • *
  • 文章數: 5
    • 檢視個人資料
先來確定一下你要的效果:
你希望一旦資料庫有更新就會送訊息給用戶端的瀏覽器,是吧?
但是這樣一來,
是不是就代表瀏覽器必須隨時主動收聽網路來的訊息,
這似乎跟瀏覽器的功能不太一樣!(有錯請更正)

再來,
上傳資料到資料庫之後,
要更新頁面的是「上傳的那個人」還是「全部上這個網站的人」?

以下皆以AJAX方法處理
「上傳的那個人」:
1.不管是否傳到資料庫,用javascript 直接更新DOM 內容。
2.傳到資料庫後,伺服器回傳剛剛收到的資料,
   或者
   重新傳送全部的訊息,不過全部傳送就失去了AJAX省頻寬、不閃爍的意思了。

「全部的人」:
1.透過定時查詢是否更新,有的話傳回資料庫新增的部分,用DOM更新。
2.登入時直接取新資料。(有廢話的感覺 :P

註:要懂 AJAX 一定要對 javascript 有概念,請參考相關討論javascript

threeseconds

  • 俺是博士!
  • *****
  • 文章數: 1368
    • 檢視個人資料
    • http://www.3sec.tw
http 這個通訊協定從古至今都無法由 server 主動 push 資料出來,
一定要由 client 送出要求才會有 request,
所以才會有一些定時自動 reload 的方法(不管 AJAX 或其他方法)
來做到「近似 server 主動 push 資料出來的效果」
這就是為甚麼上面很多人跟你說辦不到的原因。

如果你堅持不用後者,一定要 server 主動 push 資料出來,
我會建議你換個通訊協定,不要開發 web。
本文作者為天線寶寶,長期關注兒童智力發展狀態。

ytc0316

  • 可愛的小學生
  • *
  • 文章數: 1
    • 檢視個人資料
你可以搞一個 socket server, 在網頁中包個swf, 讓 swf 用 XMLSocket 跟 socket server 來做溝通

Yamaka

  • 俺是博士!
  • *****
  • 文章數: 4913
    • 檢視個人資料
    • http://www.ecmagic.com
再來,
上傳資料到資料庫之後,
要更新頁面的是「上傳的那個人」還是「全部上這個網站的人」?

重點應該是這個, 之前我也提出來, 但是樓主還是沒說明清楚..
然後大家似乎就認定是「全部上這個網站的人」 orz..

陽だまり

  • 懷疑的國中生
  • **
  • 文章數: 72
  • 性別: 男
  • 陽だまり
    • 檢視個人資料
DWR的Reverse Ajax好像可以做到這個功能
小弟還沒實際去試過就是了,提供一個參考 :D