iT邦幫忙

0

php 從資料庫取資料顯示到前端

各位大大好:
http://www.ee.nsysu.edu.tw/key/c.php
現在點一個日期可以寫入資料,想請問寫入後要怎麼立即同時顯示在表格上(不用換頁)?
也是寫在同一個頁面嘛(用ajax)?(c.php)還是要再開另個頁用用ajax?
想再請問json跟ajax是差在哪邊呢?
謝謝

weiclin iT邦高手 5 級 ‧ 2018-02-12 11:19:56 檢舉
用 ajax 寫入後同時回應更新後的資料, 就可以順便更新了
mayyola iT邦新手 3 級 ‧ 2018-02-12 16:36:34 檢舉
謝謝~~

2 個回答

0
暐翰
iT邦大師 10 級 ‧ 2018-02-12 11:02:16
最佳解答

問:現在點一個日期可以寫入資料,想請問寫入後要怎麼立即同時顯示在表格上(不用換頁)?
答:使用Ajax,可以不用換頁
流程:
1.按確認按鈕(Send Message按鈕)
2.呼叫你更新DB的API,ajax function收到success成功更新訊號,在function裡面實做你要JS動作
3.以下為ajax範例

<script>
$(document).ready(function(){
    $("寫入按鈕").click(function(){
        $.ajax({url: "你的更新API連結", success: function(result){
            $("要更新的DOM").html("想要顯示的內容");
        }});
    });
});
</script>

問:也是寫在同一個頁面嘛(用ajax)?(c.php)還是要再開另個頁用用ajax?
答:寫在同一個頁面

問:想再請問json跟ajax是差在哪邊呢?
答:json是一個資料格式,ajax是程式

有解答到問題,麻煩結案 :)

看更多先前的回應...收起先前的回應...
mayyola iT邦新手 3 級 ‧ 2018-02-12 11:10:23 檢舉

暐翰您好:想請問
按確認按鈕(Send Message按鈕) 我已寫了一個副程式用ajax將資料寫入資料庫,想請問若有讀取資料庫,是要再寫一個ajax嗎?還是要分兩個ajax..謝謝

mayyola iT邦新手 3 級 ‧ 2018-02-12 11:14:49 檢舉

請問你的更新API連結是寫回資料庫的連結嗎?

暐翰 iT邦大師 10 級 ‧ 2018-02-12 11:21:44 檢舉

只要一個ajax就可以

做法1.server修改完資料,回傳json格式資料回去給前端,
在讓前端接收資料做對應的javascript動作
做法2.當使用者按下送出按鈕,把修改的資料用javascript把存起來,當ajax收到server端成功修改訊息後做對應的javascript動作

暐翰 iT邦大師 10 級 ‧ 2018-02-12 11:27:11 檢舉

問:請問你的更新API連結是寫回資料庫的連結嗎?
答:對,網頁修改資料庫資料,通常會通過一個URL去呼叫
Server端程式,然後修改DB的資料。
這個URL就是API的連結

mayyola iT邦新手 3 級 ‧ 2018-02-12 12:49:36 檢舉

那我想再請教一個問題,這樣網頁重新更新(reload)是否資料還可以永久性的留在表格上呢? 謝謝

暐翰 iT邦大師 10 級 ‧ 2018-02-12 13:01:30 檢舉

不行

mayyola iT邦新手 3 級 ‧ 2018-02-12 13:04:56 檢舉

那應該還要用甚麼方式..可以永久留在表格上?謝謝
適用PHP把值留在網頁上嗎?

暐翰 iT邦大師 10 級 ‧ 2018-02-12 14:48:04 檢舉

問題:用甚麼方式..可以永久留在表格上?
回答:
當我網頁載入的時候,就去資料庫最新資料撈出來
然後擺設到表格上

當有更新的時候用ajax去更新資料庫、更新頁面擺設
就可以達到你 "永久留在表格" 的邏輯

0
pupuliao
iT邦新手 5 級 ‧ 2018-02-12 11:44:32

1.server端寫一個給 ajax 的網頁,只接受特定參數並寫入DB 的程式
2.前端送出按鈕從原本的submit改成用js 送出ajax請求
3.把顯示在前段的code 如上一個人說的一樣,寫在success中

結果顯示的部份不需要糾結要不要特過ajax完成,理論上 使用者書如的資料,在送出前你就已經知道了,你可以單純透過JS 的方式寫入HTML 中

另外 JSON 只是一個通用的資料傳遞方式,他可以把所有資料格式轉換成字串的方式傳輸,這個在 ajax 或是 跨平台之間資料傳輸很常使用

mayyola iT邦新手 3 級 ‧ 2018-02-12 16:36:46 檢舉

謝謝回復~~

我要發表回答

立即登入回答