編輯
```
2. 所以流程也要多一組對應設定: ```
case "edit":
add_form($sn);
break;
```
3. 和新增一樣呼叫 add\_form() 函數,唯一不同的是,編輯時要傳入 $sn,如此,系統才知道要修改的到底是哪一筆資料。
### 三、修改 add\_form() 函數
1. 編輯和新增不同的地方有三:
1. 需傳入$sn
2. 需多一個隱藏欄位 sn
3. 下一個op不會是insert,應為update
2. 故,我們將函數改為: ```
//編輯詞彙表單
function add_form($sn=""){
global $xoopsTpl,$xoopsDB;
include_once(XOOPS_ROOT_PATH."/class/xoopsformloader.php");
if($sn){
$sql="select eng,cht from ".$xoopsDB->prefix("oxford")." where `sn`='{$sn}'";
$result=$xoopsDB->queryF($sql) or redirect_header('index.php', 3, mysql_error());
list($eng,$cht)=$xoopsDB->fetchRow($result);
$op="update";
}else{
$op="insert";
}
$form = new XoopsThemeForm('編輯詞彙', '', 'main.php', 'post', true);
$input_eng =new XoopsFormText('英文', 'eng', 20 , 255 , $eng);
$input_cht =new XoopsFormText('中文解釋', 'cht', 20 , 255 , $cht);
$hidden_op =new XoopsFormHidden('op', $op);
$hidden_sn =new XoopsFormHidden('sn', $sn);
$submit_btn =new XoopsFormButton('', '', '儲存', 'submit');
$form->addElement($input_eng);
$form->addElement($input_cht);
$form->addElement($hidden_op);
$form->addElement($hidden_sn);
$form->addElement($submit_btn);
$f=$form->render();
$xoopsTpl->assign("form" ,$f);
}
```
### 四、流程新增update設定
1. 當使用者按下儲存時,如果是編輯,則op為update,因此,流程要多一組設定: ```
case "update":
update($sn);
break;
header("location:../index.php?eng={$_POST['eng']}");
```
### 五、新增update()函數
```
//更新詞彙
function update($sn=""){
global $xoopsDB;
$eng=$_POST['eng'];
$cht=$_POST['cht'];
$sql="update `".$xoopsDB->prefix('oxford')."` set `eng`='{$eng}' , `cht`='{$cht}' where sn='$sn'";
$xoopsDB->queryF($sql) or redirect_header($_SERVER['PHP_SELF'],3, mysql_error());
}
```