八小時模組開發
一、過濾外來變數
//$op 為XOOPS常用之動作變數,用來告知程式欲執行之動作
$op=isset($_REQUEST['op'])?$_REQUEST['op']:"";
$sn=isset($_REQUEST['sn'])?intval($_REQUEST['sn']):"";
一般而言,凡是新增、刪除、修改,執行後都會利用 header("location:main.php"); 來做轉向,避免使用者重新載入同一頁,導致新增、刪除、修改的動作重複執行。
三、加入刪除函數
//刪除某一筆資料
function del_dict($sn=""){
global $xoopsDB;
//資料庫語法
$sql="delete from `".$xoopsDB->prefix('oxford')."` where sn='$sn'";
$xoopsDB->queryF($sql) or redirect_header($_SERVER['PHP_SELF'],3, mysql_error());
}
- 「(條件)?真:假」這是三元運算式的寫法,相當於簡易的 if
- intval() 可強制將變數轉換成數字類型。
- 因為有設一個op動作: <a href="main.php?op=del&sn=<{$sn}>" class="btn btn-mini btn-danger">刪除</a>
- 所以流程新增一組對應動作: //判斷目前動作該執行哪一個 switch($op){ //當 $op 的值等於「動作1」時,欲執行的動作 case "del": del_dict($sn); header("location:main.php"); break; //預設動作 default: list_dict(); break; }
一般而言,凡是新增、刪除、修改,執行後都會利用 header("location:main.php"); 來做轉向,避免使用者重新載入同一頁,導致新增、刪除、修改的動作重複執行。
刪除一定要用 $xoopsDB->queryF($sql) 而不能只用 $xoopsDB->query($sql) 否則會無法刪除。