0%

排序功能我們使用Ajax功能來製作,原理是當使用者按下 往上往下 按鈕時,取得要交換的id資料,然後通知後端程式交換兩筆資料的 rank 欄位數值,藉此達到更換排序的目的,前端只需在後端交換完成後重新載入頁面,就會看到新的排序結果。

閱讀全文 »

示意圖給的做法是把新增和管理都做在同一個畫面中,我們也採用一樣的畫面配置,但是美化先不考量;

另外,示意圖中並沒有給出轉場動畫的設定方式為何,因此要採用全區設定也可以,我這邊使用的做法是每個海報都可以單獨設定一個轉場動畫。

閱讀全文 »

由於題組三需要的資料表欄位都不少,如果按部就班的把新增功能做好再去做列表及其它功能的話,會花太多時間在新增資料上,因此根據題組提供的參考資料,我們可以先行手動在資料表中放入資料,這樣可以加快解題的速度,並可更快的驗證各個類別的功能是否運作正確

閱讀全文 »

題組三的管理登入算是簡單的功能,並不需要有個管理者的資料表來做紀錄,因此這邊只要直接寫死帳密做檢查即可;另外,雖然題目中沒有提到,但為了避免每次要到後台時都要再一次輸入帳號密碼,這邊建議還是透過 sessioncookie 來紀錄登入的狀態:

閱讀全文 »

整理好素材及開完資料表後,接著我們會製作DB類別檔,把會用到的一些功能都封裝在DB類別中。

建立題組專用共用函式檔

api/db.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
session_start();       //啟用session功能
date_default_timezone_set("Asia/Taipei"); //設定網站的時區為亞洲台北

//簡易的自訂函式
/**
* 用來顯示陣列內容-除錯時使用
*/
function dd($array){
echo "<pre>";
print_r($array);
echo "</pre>";
}

/**
* 簡化header('location:')的使用
* 將請求導向其他檔案或頁面
*/
function to($url){
header("location:".$url);
}

/**
* 用來處理較複雜的sql語句,比如子查詢或聯表查詢
* 預設回傳的資料是2維陣列
*/
function q($sql){
$pdo=new PDO("mysql:host=localhost;charset=utf8;dbname={your db name}",'root','');
return $pdo->query($sql)->fetchAll(PDO::FETCH_ASSOC);
}

//宣告各個資料表的物件變數
$Poster=new DB('poster');
$Movie=new DB('movie');
$Order=new DB('ord');

接著將這個檔案引入到 index.phpback.php 中:

/index.php/back.php

1
2
3
4
<?php include_once "./api/db.php"; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- saved from url=(0039) -->
<html xmlns="http://www.w3.org/1999/xhtml">