排序功能我們使用Ajax功能來製作,原理是當使用者按下 往上 或 往下 按鈕時,取得要交換的id
資料,然後通知後端程式交換兩筆資料的 rank
欄位數值,藉此達到更換排序的目的,前端只需在後端交換完成後重新載入頁面,就會看到新的排序結果。
[技能檢定]題組三 步驟6 後台預告片海報管理
示意圖給的做法是把新增和管理都做在同一個畫面中,我們也採用一樣的畫面配置,但是美化先不考量;
另外,示意圖中並沒有給出轉場動畫的設定方式為何,因此要採用全區設定也可以,我這邊使用的做法是每個海報都可以單獨設定一個轉場動畫。
[技能檢定]題組三 步驟5 預建資料
由於題組三需要的資料表欄位都不少,如果按部就班的把新增功能做好再去做列表及其它功能的話,會花太多時間在新增資料上,因此根據題組提供的參考資料,我們可以先行手動在資料表中放入資料,這樣可以加快解題的速度,並可更快的驗證各個類別的功能是否運作正確
[技能檢定]題組三 步驟4 管理登入
題組三的管理登入算是簡單的功能,並不需要有個管理者的資料表來做紀錄,因此這邊只要直接寫死帳密做檢查即可;另外,雖然題目中沒有提到,但為了避免每次要到後台時都要再一次輸入帳號密碼,這邊建議還是透過 session
或 cookie
來紀錄登入的狀態:
[技能檢定]題組三 步驟3 建立Controller及共用函式檔
整理好素材及開完資料表後,接著我們會製作DB類別檔,把會用到的一些功能都封裝在DB類別中,再透過繼承去延伸各個需要的功能
建立各資料表的繼承類別
DB類別請參考先前關於DB class的解釋:
[技能檢定]網頁乙級檢定-前置作業-程式功能整合測試
在 controller
目錄下建立以下檔案,原則上是一張資料表對應一個檔案,其中 DB.php 是父類別:
接著在每個類別檔中引入DB.php,並且建立繼承的類別:
controller/Poster.php
1 | include_once "DB.php"; |
controller/Movie.php
1 | include_once "DB.php"; |
controller/Order.php
1 | include_once "DB.php"; |
建完各個類別後,為了後續的操作方便,我們將這些類別都引入到一個檔案中,而這個檔案又會分別被 index.php
及 backend.php
引入,相當於整個網站的所有頁面都可以引用到這個檔案的內容。
/base.php
1 | session_start(); //啟用session功能 |
接著將這個檔案引入到 index.php
及 backend.php
中:
/index.php 、 /backend.php
1 | <?php include_once "base.php"; ?> |
[技能檢定]題組三 步驟2 建立資料表
每個題組依狀況不同,在這一步有不同的做法,視自己對題目的熟悉程度來做應變,可以一次把全部資料表建完,也可以視解題的進度來逐步建立或修改資料表。
[技能檢定]題組三 步驟1 切版、建置前後台畫面
- 開立./css, ./js, ./api, ./icon, ./upload, ./view 等常用目錄以利檔案分類及管理
- 將素材檔中的.css, .js, 及icon圖檔複製到相應的目錄下
- 更改版型素材的相關檔名,以符合解題的需要:
- 03P01.htm => index.php
- 03P02.htm => intro.php
- 03P03.htm => backend.php
[技能檢定]題組二 步驟20 版面調整與最後檢查
[技能檢定]題組二 步驟19 製作前台問卷結果顯示功能
題目要求的長條圖可以使用css來控制,但這邊其實不是要檢測你會不會製作長條圖,而是如何轉化資料的呈現方式。
[技能檢定]題組二 步驟18 製作前台問卷投票功能
投票功能的製作,我們利用網址傳遞id的方式讓主題的資訊可以被帶到投票頁面,再據依製作相關的內容。