Toggle main menu visibility
新聞
下載
教材
影音
討論
其他選單
好站連結
行事曆
電子相簿
常見問題
萬用表單
即時留言簿
友站消息
社大學員
:::
登入
登入
帳號
密碼
登入
重整畫面
:::
所有書籍
「XOOPS 模組開發」目錄
MarkDown
8. 前台檔案結構
1. 開發環境
2. XOOPS模組基本結構
2-1 tad_honor 資料庫結構
2-2 school_news 資料庫結構
2-3 匯出SQL檔的方法
3. 模組管理後台結構
4. XOOPS的表單物件
5. 新增、列出功能
6. XOOPS文字過濾
7. 分頁功能
8. 前台檔案結構
9. 修改、刪除功能
10. 模組偏好設定
11. XOOPS語系功能
12. XOOPS的樣板檔
13. 內建搜尋功能
14. XOOPS的評論功能
15. 製作XOOPS區塊
16. FireFox內建「網頁開發者」工具
16-1 WebDeveloper附加元件
16-2 FireBug附加元件
16-3 用Selenium IDE來測試
17. XOOPS上傳
18. tad_honor 範例
18-1 xoops_version.php
18-2 language/tchinese_utf8/modinfo.php
18-3 sql/mysql.sql
18-4 admin/menu.php
18-5 admin/main.php
18-6 templates/tad_honor_adm_main.html
18-7 index.php
18-8 function.php
18-9 templates/tad_honor_index.html
19. school_news 校園佈告欄範例程式碼
19-1 xoops_version.php
19-2 sql/mysql.sql
19-3 admin/menu.php
19-4 admin/main.php
19-5 templates/school_news_adm_main.html
10. 模組偏好設定
XOOPS 模組開發 ========== ### 一、 加入管理連結 1. 加入刪除連結,流程新增一組 case "del\_honor": ```
刪除
``` 2. 加入修改連結,並流程新增一組 case "modify": ```
編輯
``` ### 二、 刪除 1. 在進入流程前,整理一下傳入變數: ``` $honor_sn = isset($_REQUEST['honor_sn']) ? intval($_REQUEST['honor_sn']) : ""; ``` 2. 刪除函數: ``` function del_honor($honor_sn=""){ global $xoopsDB; $sql="delete from ".$xoopsDB->prefix("tad_honor")." where `honor_sn`='{$honor_sn}'"; $xoopsDB->queryF($sql) or redirect_header('main.php', 3, mysql_error()); } ``` ### 三、確認後刪除 1. 先加入javascript的刪除函數 ``` ``` 2. 把連結改為執行javascript ```
刪除
``` ### 四、 完成修改功能 1. 修改功能就是使用者選擇一筆資料(取得該資料編號),利用該資料編號,取得其原始資料,並將取得的資料塞回原先表單,以供使用者修改。改完送出後,會執行資料update的動作。 2. 在switch中新增一組modify 流程: ```
編輯
``` 3. 替原本的表單函數加入參數:function honor\_form($honor\_sn=null) ``` case "modify_honor": $main = honor_form($honor_sn); break; ``` 4. 根據 $honor\_sn 來取得原始輸入的資料: ``` //抓出原始資料 if($honor_sn){ $sql="select * from ".$xoopsDB->prefix("tad_honor")." where `honor_sn` = '$honor_sn'"; $result = $xoopsDB->query($sql) or redirect_header('main.php', 3, mysql_error()); $myts =& MyTextSanitizer::getInstance(); $all = $xoopsDB->fetchArray($result); } ``` 5. 把預設值塞進XOOPS表單元件中: ``` $XoopsFormText =new XoopsFormText('得獎者', 'honor_student', 40 , 255, $all['honor_students']); ``` 6. 根據情況,自動修改表單的op值,以便進行不同的動作: ``` //設定op值 if($honor_sn){ $form->addElement(new XoopsFormHidden('op', 'update_honor')); $form->addElement(new XoopsFormHidden('honor_sn', $honor_sn)); }else{ $form->addElement(new XoopsFormHidden('op', 'insert_honor')); } ``` 7. 在switch中新增一組update 流程: ``` case "update_honor": update_honor($honor_sn); header("location:main.php"); break; ``` 8. 製作更新函數update\_honor($honor\_sn): ``` //更新榮譽榜資料庫 function update_honor($honor_sn=""){ global $xoopsDB; if(!$GLOBALS['xoopsSecurity']->check()){ $error=implode("
" , $GLOBALS['xoopsSecurity']->getErrors()); redirect_header($_SERVER['PHP_SELF'],3, $error); } //文字過濾 $myts = & MyTextSanitizer::getInstance(); $_POST['honor_year'] = $myts->addSlashes($_POST['honor_year']); $_POST['honor_date'] = $myts->addSlashes($_POST['honor_date']); $_POST['honor_students'] = $myts->addSlashes($_POST['honor_students']); $_POST['honor_descript'] = $myts->addSlashes($_POST['honor_descript']); $_POST['honor_teachers'] = $myts->addSlashes($_POST['honor_teachers']); $sql="update ".$xoopsDB->prefix("tad_honor")." set `honor_year` = '{$_POST['honor_year']}', `honor_date` = '{$_POST['honor_date']}', `honor_students` = '{$_POST['honor_students']}', `honor_descript` = '{$_POST['honor_descript']}', `honor_teachers` = '{$_POST['honor_teachers']}' where `honor_sn`='{$honor_sn}'"; $xoopsDB->queryF($sql) or redirect_header('main.php', 3, mysql_error()); } ```
:::
搜尋
search
進階搜尋
QR Code 區塊
快速登入
所有討論區
「PHP全端開發」線上課程討論區
XOOPS使用討論區
一般研習學員
社大學員專用
路過哈啦區
XOOPS佈景設計
XOOPS模組開發
Tad書籍區
即時留言簿
書籍目錄
展開
|
闔起
線上使用者
123
人線上 (
58
人在瀏覽
線上書籍
)
會員: 0
訪客: 123
更多…