CG 數位學習網 > PHP 教學



Dreamweaver PHP 會員點數系統

許多實商店採用了預付會員點數的制度,例如漫畫、雜誌、錄影帶、DVD 出租店,透過預付點數吸引消費者購買商品或服務,例如儲存1000元即可抵用1200元的消費。

現在許多網站或遊戲也提供會員點數的機制,鼓勵訪客的互動,例如每日登入、發表文章、推薦好友即可獲得點數。

儲值 tb_point_add

扣點 tb_point_minus

 

會員儲值與扣點需要分別儲存於不同的資料表,因為每筆記錄將會是來自不同的會員,必須儲存對應的會員編號來判別。

 

當會員查詢記錄時,將會需要透過資料表的關聯,同時查詢儲值與扣點的資料表,清單項目以日期排序,並且需要顯示目前的點數。

 

加入會員贈送點數,是一種常用的行銷手法,管理者可自行設定是否要贈送點數給新會員,並且可以設定贈送多少點數。

使用者加入會員時,領取贈送的點數,並且在儲值的資料表增加一筆記錄。

 

提示:您可以將資料庫、資料表、欄位名稱全部以小寫英文來命名,這樣使用在 SQL 語法時較容易閱讀。可使用中文但有時會出現問題。

建立新資料表,名稱輸入「tb_point_add」欄位數目輸入「6」,按下「執行」按鈕。

tb_point_add 資料表

欄位名稱 型態 說明
point_add_id INT(UNSIGNED) 儲存記錄編號 auto_increment / 設為 PRIMARY 主鍵
user_id SMALLINT(UNSIGNED) 會員編號(對那一位會員進行儲值)
employee_id   若門市人員進行儲值時記錄員工編號
point_add_value SMALLINT 點數
point_add_date DATETIME 儲值的日期
point_add_ip VARCHAR(15) 建立記錄的裝置 IP 位址
point_add_ps TINYINT(UNSIGNED) 儲值備註(包括加入會員贈送點數、門市人員手動儲存)

建立新資料表,名稱輸入「tb_point_minus」欄位數目輸入「6」,按下「執行」按鈕。

tb_point_minus 資料表

欄位名稱 型態 說明
point_minus_id INT(UNSIGNED) 扣點記錄編號 auto_increment / 設為 PRIMARY 主鍵
user_id SMALLINT(UNSIGNED) 會員編號(對那一位會員進行扣點)
employee_id   若門市人員進行扣點時記錄員工編號
point_minus_value SMALLINT 點數(可能使用負值)
point_minus_date DATETIME 扣點的日期
point_minus_ip VARCHAR(15) 建立記錄的裝置 IP 位址
point_minus_ps TINYINT(UNSIGNED) 扣點備註(包括門市人員手動扣點)

tb_point_welcome資料表
event_id
event_point
event_date

加入會員贈送點數活動

系統需要採用彈性化的設計,讓資料表保留所有修改的記錄,而網頁將只從資料表取得最新的一筆記錄,若設定為 0 則透過修件判斷隱藏贈送點數活動,讓管理者自由運用會員儲值系統。

資料集的「簡單」模式只能查詢單一的資料表,我們需要同時查詢儲值扣點資料表,然後可以列印在同一份報表。

繫結面板按 + 再選擇資料集(查詢),按下「進階」按鈕,可以看目前的 SQL 語法。這是查詢儲存資料表,並依日期排序。

SELECT point_add_id, user_id, point_add_value, point_add_date, point_add_ip
FROM tb_point_add
ORDER BY point_add_date ASC

若是查詢資料表中所有欄的資料,可以寫成比較簡短的:

SELECT *
FROM tb_point_add

參考這段SQL語法
SELECT album.album_id, album.album_date, album.album_location, album.album_title, album.album_desc, (albumphoto.ap_picurl) AS album_photo, COUNT(albumphoto.ap_id) AS album_total
FROM album INNER JOIN albumphoto ON album.album_id = albumphoto.album_id
GROUP BY album.album_id, album.album_date, album.album_location, album.album_title, album.album_desc
ORDER BY album.album_date DESC



~ CG 數位學習網版權所有 ~