線上書籍

Home

八小時模組開發

一、過濾外來變數 //$op 為XOOPS常用之動作變數,用來告知程式欲執行之動作 $op=isset($_REQUEST['op'])?$_REQUEST['op']:""; $sn=isset($_REQUEST['sn'])?intval($_REQUEST['sn']):"";
  1. 「(條件)?真:假」這是三元運算式的寫法,相當於簡易的 if
  2. intval() 可強制將變數轉換成數字類型。
二、加入流程
  1. 因為有設一個op動作: <a href="main.php?op=del&sn=<{$sn}>" class="btn btn-mini btn-danger">刪除</a>
  2. 所以流程新增一組對應動作: //判斷目前動作該執行哪一個 switch($op){ //當 $op 的值等於「動作1」時,欲執行的動作 case "del": del_dict($sn); header("location:main.php"); break; //預設動作 default: list_dict(); break; }

 一般而言,凡是新增、刪除、修改,執行後都會利用 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()); }

刪除一定要用 $xoopsDB->queryF($sql)  而不能只用 $xoopsDB->query($sql) 否則會無法刪除。