:::
13-1 怎樣才叫做已經報名?
一、先回顧一下報名的資料表
- 咱的資料表很簡單
CREATE TABLE `signups` ( `uid` smallint(5) unsigned NOT NULL COMMENT '使用者編號', `action_id` smallint(5) unsigned NOT NULL COMMENT '活動編號', `signup_date` datetime NOT NULL COMMENT '報名日期', PRIMARY KEY (`uid`,`action_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
基本上只有三個欄位!
-
所謂報名,就是在這個表中多一筆紀錄,看是誰(uid),在什麼時候(signup_date),報了哪個活動(action_id)
-
基本上,此表沒有所謂審核的功能,有需要請自己加(研習哪來那麼多時間...)
二、加入報名函數
- 由於按鈕是連結到 index.php ,其 op 為 signup,所以,按照老方法,建流程,做函數。
- 修改流程,加入一組:
case "signup": signup($action_id); header("location:{$_SERVER['PHP_SELF']}?action_id=$action_id"); exit; -
只要傳入編號即可,uid可以從 session抓,日期更是可直接由資料庫產生。
-
報名後,直接轉向該活動,我們希望可以在活動下方看到已經報名名單
三、製作報名函數
- 在 index.php 中新增 signup() 函數,新增報名資訊到 signups 中
//報名 function signup($action_id) { global $db; $uid = $_SESSION['uid']; $sql = "INSERT INTO `signups` ( `action_id`, `uid`, `signup_date`) VALUES ('{$action_id}', '{$uid}', NOW())"; if (!$db->query($sql)) { throw new Exception($db->error); } }
13. 加入報名功能