列表设计概述
列表设计中需要定义列表显示字段,搜索条件等。
如“客户基本信息”列表,列表设计完成后得到五个功能。
然后将不同的功能页面赋予相应人员权限。
支持自定义模板,支持直接写SQL查询。
简单模式下不用写代码即可实现功能模块的增删改查、导入导出EXCEL。复杂模式下可以写SQL语句、PHP语句等实现更多功能。
传统报表软件界面单调、设置繁琐,于其花时间学习其冗长的设置方法,不如直接写一句SQL查询语句,可以得到任何想要的查询结果列表。 标准sql示例 "select * from table_name where 1=1 {where_str} limit {offset},{number_each_page} "
列表实例
列表设计首页面
列表图标上点击右键展开操作菜单。列表图标可以拖动进行排序。
新建列表页面(简单模式)
选择表单后,可以从表单字段选择列表字段和搜索条件字段。当然也可以手动新建这些字段。注意:列表字段和搜索条件字段必须为SQL语句中存在的字段。
操作权限新建,查看,编辑,删除,导入EXCEL,导出EXCEL。选择后这些权限将出现在列表页面。
列表字段设置和搜索条件设置可以拖动行进行字段排序。
列表字段设置
字段描述将作为列表表头。字段为数据库中查询字段。其他可以填写表头属性,例如“width='100'”。
搜索条件设置
搜索条件将自动生成一个SQL语句代码片段,如上图所示,“ and pname like '%$pname%' ”,并替换到SQL语句中的{where_str}位置。
新建列表页面(复杂模式)
复杂模式下列表设计页面中表单项不是必填的,选择表单的目的仅是为了方便选择字段。这样就可以写SQL语句查询现有的数据库表得到报表页面。例如要对公司现有的CRM系统进行二次开发,直接查询CRM数据库即可。
复杂模式下允许编写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']是查询开始位置,是一个系统默认变量。
格式化一行代码规范
格式化一行设置的作用。实际应用中可能需要对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[操作]="编辑 删除",“操作”一列将会出现在列表中。
更多写法请参考本网站的实例讲解…………