1. 寫在開始之前 1-1 安裝開發環境 1-2 上課範例及需求 2. PHP基本語法 2-1 註解 2-2 PHP資訊頁 2-3 建立專案目錄 3. 套用Smarty樣板 3-1 使用 Smarty 4. 前端操作界面 4-1 BootStrap 基礎排版 4-2 設計登入面板 4-3 登入表單 4-4 讓sublime自動排版 4-5 引入樣板檔 5. 判斷是否登入 5-1 接收變數 5-2 設定管理密碼 5-3 過濾變數 5-4 if 判斷式 5-5 用 $op 及 switch 迴圈來做流程控制 5-6 檢查帳號密碼 5-7 登入後,畫面應有的變化 6. 把程式片段打包成函數 6-1 資料類型 6-2 PHP常用運算符(子) 7. 資料庫規劃 7-1 常用資料庫的欄位類型 8. 增加註冊機制 8-1 連上資料庫 8-2 新增使用者到資料庫 8-3 註冊哪有這麼簡單! 8-4 異常處理 9. 從資料庫中讀取資料的方法 9-1 改寫 login() 9-2 改寫工具列 10. 製作活動管理頁面 10-1 製作頁首、頁尾檔 10-2 用物件來做表單 10-3 寫入活動到資料庫 11. 重新調整流程 11-1 列出所有活動 11-2 列出單一活動 12. 加入管理功能 12-1 執行修改 12-2 加入刪除功能 12-3 確認後刪除 13. 加入報名功能 13-1 怎樣才叫做已經報名? 13-2 列出已報名名單 13-3 同時讀取兩個資料表 13-4 報名過後,就不可再報 13-5 取消報名 14. 開始處理小細節 14-1 過期活動不該顯示出來 14-2 新增分頁 14-3 個資保護 14-4 刪除活動得同時刪除報名者 14-5 寄發通知信 15. 我參加的活動
14-4
刪除活動得同時刪除報名者
其實這個超簡單的
只是常常寫了活動的刪除,也寫了報名者的刪除,卻往往忘了刪活動時也要順便刪除報名者。
所以,這不是會不會的問題,而是有沒有注意到的問題。
一、修改刪除活動函數
修改 admin.php 中的 delete_action()
//刪除活動
function delete_action($action_id)
{
global $db;
$sql = "DELETE FROM `actions` WHERE `action_id`='{$action_id}';";
if (!$db->query($sql)) {
throw new Exception($db->error);
}
$sql = "DELETE FROM `signups` WHERE `action_id`='{$action_id}'";
if (!$db->query($sql)) {
throw new Exception($db->error);
}
}
1. 寫在開始之前 1-1 安裝開發環境 1-2 上課範例及需求 2. PHP基本語法 2-1 註解 2-2 PHP資訊頁 2-3 建立專案目錄 3. 套用Smarty樣板 3-1 使用 Smarty 4. 前端操作界面 4-1 BootStrap 基礎排版 4-2 設計登入面板 4-3 登入表單 4-4 讓sublime自動排版 4-5 引入樣板檔 5. 判斷是否登入 5-1 接收變數 5-2 設定管理密碼 5-3 過濾變數 5-4 if 判斷式 5-5 用 $op 及 switch 迴圈來做流程控制 5-6 檢查帳號密碼 5-7 登入後,畫面應有的變化 6. 把程式片段打包成函數 6-1 資料類型 6-2 PHP常用運算符(子) 7. 資料庫規劃 7-1 常用資料庫的欄位類型 8. 增加註冊機制 8-1 連上資料庫 8-2 新增使用者到資料庫 8-3 註冊哪有這麼簡單! 8-4 異常處理 9. 從資料庫中讀取資料的方法 9-1 改寫 login() 9-2 改寫工具列 10. 製作活動管理頁面 10-1 製作頁首、頁尾檔 10-2 用物件來做表單 10-3 寫入活動到資料庫 11. 重新調整流程 11-1 列出所有活動 11-2 列出單一活動 12. 加入管理功能 12-1 執行修改 12-2 加入刪除功能 12-3 確認後刪除 13. 加入報名功能 13-1 怎樣才叫做已經報名? 13-2 列出已報名名單 13-3 同時讀取兩個資料表 13-4 報名過後,就不可再報 13-5 取消報名 14. 開始處理小細節 14-1 過期活動不該顯示出來 14-2 新增分頁 14-3 個資保護 14-4 刪除活動得同時刪除報名者 14-5 寄發通知信 15. 我參加的活動