Etable/方法:修訂版本之間的差異
出自六年制學程
(→main()) |
(→main()) |
||
(未顯示同用戶所作出之10次版本) | |||
第 27 行: | 第 27 行: | ||
#getResultValue | #getResultValue | ||
− | === | + | ===函式使用情形=== |
− | etable() | + | '''etable()''' |
− | + | #如未搭配 CMS (如xoops、mediawiki 等) => connect(DSN) // 連結資料庫 | |
− | main($showHTML=1) | + | #準備目前的年、月 |
+ | '''main($showHTML=1)''' | ||
#js(); // 基本 javascript 放入屬性 $this->javascriptStr<br/>// 前置顯示區 | #js(); // 基本 javascript 放入屬性 $this->javascriptStr<br/>// 前置顯示區 | ||
#處理 css 放入 $this->htmlStr | #處理 css 放入 $this->htmlStr | ||
第 54 行: | 第 55 行: | ||
##執行 $this->sql[0] | ##執行 $this->sql[0] | ||
##ana_fields($result) // 分析諸欄屬性 | ##ana_fields($result) // 分析諸欄屬性 | ||
− | ##form_ins() // 若插入,造插一筆表單 | + | ##如 $this->action 是插 => <span style='color:blue'>form_ins()</span> // 若插入,造插一筆表單 |
+ | ##:addElements($i,null) // 依 $this->formType 指示製造表單中各可「插、編」欄 | ||
+ | ##:form_same($this->form,INSERT) | ||
##mk_tbl($result) // 造出顯示陣列,含「造編一筆表單」 | ##mk_tbl($result) // 造出顯示陣列,含「造編一筆表單」 | ||
##:mk_rows($tbl,$row) 將一筆一列塞入 $tbl | ##:mk_rows($tbl,$row) 將一筆一列塞入 $tbl | ||
+ | ##::如 $this->action 是編 => <span style='color:blue'>form_edit($row)</span> // 若編,造編一筆表單 | ||
+ | ##:::addElements($i,$row[$i]) // 依 $this->formType 指示製造表單中各可「插、編」欄 | ||
+ | ##:::form_same($this->form,RENEW) | ||
#輸出蒐尋排序表單 | #輸出蒐尋排序表單 | ||
##檢查$this->search | ##檢查$this->search | ||
第 73 行: | 第 79 行: | ||
##如 $this->action 是插或編 => $this->form->display() | ##如 $this->action 是插或編 => $this->form->display() | ||
##如 $this->batch => 調整 form 的 id 並造相應於 batch 的 form | ##如 $this->batch => 調整 form 的 id 並造相應於 batch 的 form | ||
− | ##各種 body :no_thing(內容在工作程式中定義)、disp_table、disp_text、disp_text_all、disp_sentence、disp_calendar、disp_wall(只取第一個欄,應為演算式)<br/>共用函式:colValue<br/>連動選單專用函式:mk_a(用於各種body)、orderSecondaryArray(用於mk_a) | + | ##各種 body :no_thing(內容在工作程式中定義)、disp_table、disp_text、disp_text_all、disp_sentence、disp_calendar、disp_wall(只取第一個欄,應為演算式)<br/>共用函式:colValue(第幾欄,$value,$row) // 表現欄值<br/>其下的blob欄(含text欄、bolb欄)會使用到 textdisp($value) ,執行 nl2br<br/>連動選單專用函式:mk_a(用於各種body)、orderSecondaryArray(用於mk_a) |
#draw() // 畫統計圖 | #draw() // 畫統計圖 | ||
+ | |||
+ | '''form_same($form,$prompt)''' // 插表單與編表單共同部分 | ||
+ | :overPageXoopsForm($form,$this->overPage) | ||
+ | |||
+ | '''quoteSmart($str,$switch)''' // 交待加反斜或不加反斜,用於處理 sql 字串 | ||
+ | |||
+ | '''未使用''' | ||
+ | #anaEditable($editable) // 將插、編、刪屬性解析成陣列三元素傳回 | ||
+ | #todatetime($secend=0,$br='') // 秒換算成日期 | ||
+ | #search(…) // 早期的 mkphp.php 須在工作程式中產生蒐尋表單,現在蒐尋表單會自動生成,因此本方法已無用。 | ||
+ | |||
+ | '''mkphp.php''' | ||
+ | #mkphp($sql) | ||
+ | #cuts($start,$end,$str,$se=null) | ||
+ | #decode($row['moreCol']) | ||
===etable=== | ===etable=== |
2020年6月7日 (日) 08:55的最新修訂版本
DB
- connect
- queryF
- parseDSN
- getDSNString
- numRows
- getResultValue
login
- login
- logon
- checkLogin
- overPageUrl
- overPageForm
- overPageConditionStr
- aINb
- quotedIdentifier
- encode
- showHTML
- js
-----繼承----- - connect
- queryF
- parseDSN
- getDSNString
- numRows
- getResultValue
函式使用情形
etable()
- 如未搭配 CMS (如xoops、mediawiki 等) => connect(DSN) // 連結資料庫
- 準備目前的年、月
main($showHTML=1)
- js(); // 基本 javascript 放入屬性 $this->javascriptStr
// 前置顯示區 - 處理 css 放入 $this->htmlStr
- 處理 workControl
- 處理登入驗證或免驗證
// 開始主程式主要部分 - 翻頁設定加入 $this->overPage
- 檢查是否送入SQL查詢
- 蒐尋表單傳入值前置處理
- 排序表單傳入值前置處理
- 解析sql,取總欄數,總表數
- ana_sql($sql)
- quoteSmart($sql)
- cutSql($sql)
- mergeSql($sql,$where,$order)
- ana_sql($sql)
- ana_table() //解析諸表
- 單筆資料前置處理,含插畢、刪一筆、編一筆
- 插畢,不必處理rid,直接插入一筆
- 處理 rid
- 刪一筆
- 編一筆
- 批次資料前置處理:依 $this->batch 中函式名,一個一個執行一遍
- 取欲秀之資料
- 執行 $this->sql[0]
- ana_fields($result) // 分析諸欄屬性
- 如 $this->action 是插 => form_ins() // 若插入,造插一筆表單
- addElements($i,null) // 依 $this->formType 指示製造表單中各可「插、編」欄
- form_same($this->form,INSERT)
- mk_tbl($result) // 造出顯示陣列,含「造編一筆表單」
- mk_rows($tbl,$row) 將一筆一列塞入 $tbl
- 如 $this->action 是編 => form_edit($row) // 若編,造編一筆表單
- addElements($i,$row[$i]) // 依 $this->formType 指示製造表單中各可「插、編」欄
- form_same($this->form,RENEW)
- 如 $this->action 是編 => form_edit($row) // 若編,造編一筆表單
- mk_rows($tbl,$row) 將一筆一列塞入 $tbl
- 輸出蒐尋排序表單
- 檢查$this->search
- 檢查各蒐尋欄的 $this->formType[欄名][0],依指示造 date、radio、bitCheckbox、checkbox、select2、select22、searchSelect、其他
- 其中的 select2 用 getFieldTable() 查出連動表單第二元素的表名與欄名,造 javascript 的 onChange='createOpt()' ,用「A表名_欄名」陣列處理連動選單
- 依 $this->order 造排序的 select 表單元件
- 以 hidden 表單元件,送出 exec_type=1
- 依 $_REQUEST['workControl'] 指示,送出相應的表單元件
- 表單輸入驗證的 javascript ,內含連動選單
- checkForm(idForm,dataSource,divID)
- checkRadio(name)
- onAjax(a)
- select2 用 getFieldTable() 查出連動表單第二元素的表名與欄名,造 javascript 的「A表名_欄名」陣列
- dispListDiv($this->dispType,$this->dispTypeHead) // 秀
- 各種 head :only_ins_head、no_head、std_head、calendar_head
共用函式:up_link、up_links、newpageButton - 如 $this->action 是插或編 => $this->form->display()
- 如 $this->batch => 調整 form 的 id 並造相應於 batch 的 form
- 各種 body :no_thing(內容在工作程式中定義)、disp_table、disp_text、disp_text_all、disp_sentence、disp_calendar、disp_wall(只取第一個欄,應為演算式)
共用函式:colValue(第幾欄,$value,$row) // 表現欄值
其下的blob欄(含text欄、bolb欄)會使用到 textdisp($value) ,執行 nl2br
連動選單專用函式:mk_a(用於各種body)、orderSecondaryArray(用於mk_a)
- 各種 head :only_ins_head、no_head、std_head、calendar_head
- draw() // 畫統計圖
form_same($form,$prompt) // 插表單與編表單共同部分
- overPageXoopsForm($form,$this->overPage)
quoteSmart($str,$switch) // 交待加反斜或不加反斜,用於處理 sql 字串
未使用
- anaEditable($editable) // 將插、編、刪屬性解析成陣列三元素傳回
- todatetime($secend=0,$br=) // 秒換算成日期
- search(…) // 早期的 mkphp.php 須在工作程式中產生蒐尋表單,現在蒐尋表單會自動生成,因此本方法已無用。
mkphp.php
- mkphp($sql)
- cuts($start,$end,$str,$se=null)
- decode($row['moreCol'])
etable
- etable
- main
- cutSql
- mergeSql
- ana_sql
- ana_table
- ana_fields
- getFieldTable
- mk_tbl
- mk_rows
- dispListDiv
- up_link
- up_links
- newpageButton
- only_ins_head
- no_head
- std_head
- calendar_head
- no_thing
- mk_a
- orderSecondaryArray
- disp_table
- disp_text
- disp_text_all
- disp_sentence
- disp_calendar
- colValue
- disp_wall
- overPageXoopsForm
- form_same
- form_edit
- form_ins
- addElements
- draw
- anaEditable
- mkphp
- quoteSmart
- todatetime
- textdisp
- decode
- cuts
- search
-----繼承----- - login
- logon
- checkLogin
- overPageUrl
- overPageForm
- overPageConditionStr
- aINb
- quotedIdentifier
- encode
- showHTML
- js
- connect
- queryF
- parseDSN
- getDSNString
- numRows
- getResultValue
均優的使用者定義函式
- strfold
- half
- replaces
- cuts
- r2a
- wfexplodemarkup
- wfurlprotocols
- desrcset
- srcdecode
- cuttag
- webcontent
- agendalist
- agendacalendar
- mysqli_result
- mimetex