一、說明
當新增記錄後,一般會轉向至列表或顯示單筆
二、流程
Switch 語句
如果您希望有選擇地執行若干代碼塊之一,請使用 Switch 語句。
使用 Switch 語句可以避免冗長的 if..elseif..else 代碼塊。
語法
switch (expression) { case label1: code to be executed if expression = label1; break; case label2: code to be executed if expression = label2; break; default: # ---- 目前網址 ---- $_SESSION['return_url'] = getCurrentUrl(); $op = "opList"; opList(); }
工作原理:
對表達式(通常是變數$op)進行一次計算
把表達式的值與結構中 case 的值進行比較
如果存在匹配,則執行與 case 關聯的代碼
代碼執行後,break 語句阻止代碼跳入下一個 case 中繼續執行
如果沒有 case 為真,則使用 default 語句,並給予$op預設值 opList
若執行轉向或AJAX請用 exit
三、函數
global $xoopsDB,$xoopsTpl;
#---- 過濾資料 -------------------------- $myts = &MyTextSanitizer::getInstance();
#外鍵 $ForeignKeyMainOption = get_ForeignKeyMainOption("ugm_stk_staff",$staff, false); $ForeignKey=" <div class='row my-2'> <div class='col-sm-3'> <select name='staff' id='staff' onchange=\"location.href='?staff='+this.value\" class='form-control'> $ForeignKeyMainOption </select> </div> </div> "; $xoopsTpl->assign("ForeignKey", $ForeignKey);
$andKey = $staff ? "where a.`staff`='{$staff}'":""; #撈資料 $sql="select a.`sn`,a.`no`,a.`title`,a.`tel`,a.`fax`,a.`contact`,b.`title` as `staff_title`,a.`uniform`,a.`enable` from " . $xoopsDB->prefix("ugm_stk_vendor") . " as a left join ". $xoopsDB->prefix("ugm_stk_staff") ." as b on a.staff = b.sn $andKey order by a.`sort` desc,a.`date` desc";//die($sql);
//getPageBar($原sql語法, 每頁顯示幾筆資料, 最多顯示幾個頁數選項); $p_count = 20; $PageBar = getPageBar_b4($sql, $p_count, 10); $bar = $PageBar['bar']; $sql = $PageBar['sql']; $total = $PageBar['total']; $bar = $total > $p_count ? "<hr>".$bar : ""; $xoopsTpl->assign("bar", $bar);
$result = $xoopsDB->query($sql) or redirect_header($_SERVER['PHP_SELF'], 3, web_error()); $rows = array(); while ($row = $xoopsDB->fetchArray($result)) { // $row['sn'] = intval($row['sn']);//客戶流水號 $row['no'] = $myts->htmlSpecialChars($row['no']);//公司編號 $row['title'] = $myts->htmlSpecialChars($row['title']);//公司名稱 $row['tel'] = $myts->htmlSpecialChars($row['tel']);//公司電話 $row['fax'] = $myts->htmlSpecialChars($row['fax']);//公司傳真 $row['contact'] = $myts->htmlSpecialChars($row['contact']);//聯絡人 $row['staff_title'] = $myts->htmlSpecialChars($row['staff_title']);//業務員 $row['uniform'] = $myts->htmlSpecialChars($row['uniform']);//統一編號 $row['enable'] = intval($row['enable']);//啟用 $rows[] = $row; } $xoopsTpl->assign("rows", $rows);
四、樣板