Formweaver列表設計

列表設計概述

  • 列表設計中需要定義列表顯示字段,搜索條件等。

  • 如“客戶基本信息”列表,列表設計完成後得到五個功能。

    • 查看客戶基本信息列表(僅有查看權限)實例:客戶基本信息查看

    • 編輯客戶基本信息列表 實例:客戶管理

    • 從EXCEL導入到客戶基本信息(導入時應用表單設計中的驗證規則,如客戶姓名爲空時本條記錄導入失敗)。

    • 從客戶基本信息列表導出到EXCEL 。

    • 客戶基本信息多條件搜索 。

  • 然後將不同的功能頁面賦予相應人員權限。

  • 支持自定義模板,支持直接寫SQL查詢。

  • 簡單模式下不用寫代碼即可實現功能模塊的增刪改查、導入導出EXCEL。複雜模式下可以寫SQL語句、PHP語句等實現更多功能。

  • 方便的切換模板。例如“客戶管理”列表頁面, 客戶管理(模板一) 客戶管理(模板二),完全相同的數據應用了不同的模板。

  • 傳統報表軟件界面單調、設置繁瑣,於其花時間學習其冗長的設置方法,不如直接寫一句SQL查詢語句,可以得到任何想要的查詢結果列表。 標準sql示例 "select * from table_name where 1=1 {where_str} limit {offset},{number_each_page} "


列表實例


列表設計首頁面

5.png
列表圖標上點擊右鍵展開操作菜單。列表圖標可以拖動進行排序。

新建列表頁面(簡單模式)

6.png
選擇表單後,可以從表單字段選擇列表字段和搜索條件字段。當然也可以手動新建這些字段。注意:列表字段和搜索條件字段必須爲SQL語句中存在的字段。

操作權限新建,查看,編輯,刪除,導入EXCEL,導出EXCEL。選擇後這些權限將出現在列表頁面。

列表字段設置和搜索條件設置可以拖動行進行字段排序。

列表字段設置

f8.png
字段描述將作爲列表表頭。字段爲數據庫中查詢字段。其他可以填寫表頭屬性,例如“width='100'”。

搜索條件設置

f9.png
搜索條件將自動生成一個SQL語句代碼片段,如上圖所示,“ and pname like '%$pname%' ”,並替換到SQL語句中的{where_str}位置。

新建列表頁面(複雜模式)

複雜模式下列表設計頁面中表單項不是必填的,選擇表單的目的僅是爲了方便選擇字段。這樣就可以寫SQL語句查詢現有的數據庫表得到報表頁面。例如要對公司現有的CRM系統進行二次開發,直接查詢CRM數據庫即可。

v1.png
複雜模式下允許編寫SQL語句和PHP語句。

SQL語句代碼規範

一般的報表軟件會有非常複雜的報表設計功能,於其花時間瞭解學習他們的設計規則,不如寫一句SQL語句,可以任意寫出更多複雜的查詢,例如實際應用中“查詢當前庫存”,“得到一個客戶銷量排行”等,只需要一句SQL。支持多種數據庫,MYSQL,MSSQL,Oracle等。查詢語句基本類似。學習SQL查詢

SQL中允許出現PHP變量。例如想得到一個當前用戶新建的客戶基本信息列表,可以這樣寫:"select * from custom where addUserId='$_SESSION[userid]' {where_str}"。“{where_str}”字符將替換爲搜索條件設置中生成的where子句。

SQL語句中可能出現多個where子句,如何把搜索條件中生成的where子句替換到正確的位置?例如可以這樣寫:"select * from custom where addUserId in (select uid from user where 1=1 {where_str2}) {where_str}",其中{“where_str2}”和“{where_str}”將會分別替換爲搜索條件位置中的“where_str2”和“where_str”。在此不用過多描述,會寫SQL語句的你一定非常明白作者的設計意圖。更多寫法請參考本網站的 實例講解

分頁SQL示例:"select * from custom where addUserId='$_SESSION[userid]' {where_str} order by addTime asc limit 10,$_GET['per_page'] "。 $_GET['per_page']是查詢開始位置,是一個系統默認變量。v5.png

格式化一行代碼規範

格式化一行設置的作用。實際應用中可能需要對SQL查詢出來的結果進行格式化再輸出到列表頁面。

例如查詢結果中性別一列用$data['sex']表示,0=男,1=女,格式化代碼這樣寫:if($data['sex']=="0"){$data['sex']="男";} if($data['sex']=="1"){$data['sex']="女";}

例如查詢結果中庫存數量一列,庫存小於等於0的用紅色標記。 格式化代碼這樣寫:if($data['kucun']<=0){$data['kucun']="<div style='color:red'>$data['kucun']</div>";}

格式化代碼必須嚴格遵守PHP語法,否則會出錯。

格式化代碼中$data爲系統默認變量,$data是一個查詢結果數組。例如:$data=array( "userid"=>"admin", "username"=>"系統管理員", "password"=>"123456", "sex"=>"0", );

格式化代碼中允許出現查詢結果中不存在的字段,例如:$data[操作]="編輯 刪除",“操作”一列將會出現在列表中。

更多寫法請參考本網站的實例講解…………


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章