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 |