JSON的奧秘與應用時機(Part 4)
228連假開始了,終於有空寫一點文章了,最近在工作上有些不順心,不知道是不是職業倦怠,但對於寫程式的熱忱我依舊沒放棄,其實我很開心我有一群碼農夥伴可以交流,不然我可能會一直怠惰下去吧!
其實這個章節主要結合前端+後端的應用,在前幾章節簡單的介紹了JSON,可能對於新手會有些困難,但也歡迎有興趣或是覺得有更不錯的寫法等,都可以寄信或留言做交流
起手式
這次主要製作一頁會員列表中的會員狀態,在撰寫之前先擬定幾個步驟
- 擬定資料庫內容SQL
- 製作HTML 頁面內容
- 寫後端程式給前端做處理
建立資料庫
起手式,先建立資料庫及資料表,新增【啟用、未啟用、停用、黑名單、過期】等資料,其餘的資料可供未來加以使用。
資料庫名稱: api [color=#ffb85e]
1 | CREATE DATABASE IF NOT EXISTS `api` DEFAULT |
資料表名稱: basic_option_value [color=#ffb85e]
中文名稱 | 欄位代號 | 備註 |
---|---|---|
編號 | id | 主鍵(Primary Key) |
名稱 | name | |
對應群組代號 | group_code | 用在每一個選項屬於自己的群組 |
選項值 | value | |
狀態 | status | 未來可能這個選項暫停不用 |
排序 | sort |
1 | CREATE TABLE `api`.`basic_option_value` ( |
資料表資料 [color=#ffb85e]
1 | INSERT INTO `basic_option_value` |
建立整個網頁的檔案
- index.php
- style.css
- style.js
- user.php
- config.php
- jquery_ajax.php
前端程式的布局
製作HTML頁面 (index.php)
※ 我們會先撈狀態列資料做呈現
1 | <?php |
套用表格所需的樣式(style.css)
其實這部分,我只是做一個簡單的編排,其實可以透過一些HTML框架來去做,可能會比我現在自己刻程式碼來的好。
1 | @charset "utf-8"; |
後端程式的處理
建立資料庫連線(config.php)
1 |
|
載入HTML頁面前的程序(user.php)
在還沒進入到index.php的頁面時,我們要先將頁面的值做讀取載入,讓資料庫資料呈現在頁面上,下面程式碼$val 變數是假設每一筆資料為啟用狀態,這單元主要為了展現JSON可以如何運用,所以只做狀態的處理。
1 |
|
以下為上方程式印出$value的結果
圖1
圖2
前端與後端程式的聯絡
建立按鈕的AJAX動作 (style.js)
AJAX 是現在網站開發很重要的腳色,他利用原本存在的技術(JavaScript、XML、非同步)組合而成,那很多人一定有疑問,那AJAX只能用非同步而已嗎?其實並不是,當然也可以做到同步,但在於每個設計面會有不同的設計模式,所以大部分的開發都會以非同步去使用。未來有機會我們會在做AJAX的解說與使用。
$.ajax()不專業的解說
.ajax()中內容可能有些人能理解,但不能理解的部分我稍微簡單做解說,將url值jquery_ajax.php做發送請求所返回的值,而返回的值都使以JSON格式返回,後面的.done()表示$.ajax()執行成功時則執行.done(),如果$.ajax()執行錯誤(請求失敗、語法寫作等)則.done()不做執行。
1 | $(document).ready(function(){ |
備註:
- JSON.parse(jsonString): 在一個字串中解析出JSON物件
- JSON.stringify(obj) : 將一個JSON物件轉換成字串
Ajax動作命令後端作執行程序,結果回傳到Ajax (jquery_ajax.php)
其實為什麼要做一個獨立的後端PHP檔,其實當一個專案如果有共同需要做AJAX的程序時,可以將後端部分寫在這裡,以方便做管理。
1 |
|
結論
上面的小範例可能沒有寫的那麼好,但也只是展現JSON可以做其他的應用,讓大家可以更活用JSON,若上方有不太能理解的地方,歡迎大家寄信或留言一起研究及更正,讓更多人可以受惠。
標籤: w3HexSchool
Json
PHP
原文作者: Sian
原文鏈接: https://dew31794.github.io/2020/02/28/JSON的奧秘與應用時機(Part 4)/
版權聲明: 轉載請註明出處(必須保留作者署名及鏈接)