TP5 layui 储存type分类ID,记录显示中显示对应的中文名称
方法一、layui数据表格+TP5
{field:"school",title: "学校", width:120,templet: "<div>{{sotitle(d.hezuodanwei,arr)}}</div>"}
函数:sotitle(d.hezuodanwei,arr),arr=数组
原理:
注意:函数sotitle()一定要放在layui.use(外面
数组:
//var arr=[{"id":8,"name":"北京理工大学"},{"id":9,"name":"南开大学"}
var arr={$guishu};//取自后台的数据 数组
TP5 php代码:
//归属 列出归属数组 格式[{"id":8,"name":"北京理工大学"},{"id":9,"name":"南开大学"}] $rs_manage=Db::name("manage")->select(); $i=0; foreach($rs_manage as $rs){ $guishu[$i]["id"] = $rs["id"]; $guishu[$i]["name"] = $rs["username"]; $i++; } $this->assign("guishu",json_encode($guishu));
注意:$this->assign("guishu",json_encode($guishu));
方法二、layui数据表格+TP5
这种方法非常消耗资源,速度很慢,如果读取多个不建议
归属、合作单位 都有对应的表,实现显示对应的中文名称
用layui templet - 自定义模板
html代码:
归属:,{field:"guishu", title: "归属",width:120,templet: "#adminIdTpl_guishu"}
adminIdTpl_guishu模板代码:
<!-- 归属 模板 --> <script type="text/html" id="adminIdTpl_guishu"> {{# var fn = function(){ $.ajaxSetup({ async: false }); var title; var id=d.guishu; var datatablename="manage"; var dname="username"; $.post("{:url("student/schooltableSo")}",{id:id,datatablename:datatablename,dname:dname}, function(data){ title=data; }); return title; }; if(true){ }} {{ fn() }} {{# } }} </script>
TP5代码:前端传参数过来,后台查询,然后把结果返回前端
//通用功能 通过ID查询返回结果 public function schooltableSo() { $id=input("id"); $datatablename=input("datatablename");//对应表名称 $dname=input("dname");//要取得表中内容的字段名称 if($id && $datatablename){ $rs=Db::name($datatablename)->where("id",$id)->find(); return $rs[$dname]; }else{ return ""; } }
方法三、其它办法
$res = $r1->select(); foreach($res as $v){ $res2 = $r2->where("pid=".$v["id"])->select(); $v["child"] = $res2; }
<foreach name="res" item="v"> <div id="div1"> {$v.name} <if condition="$v["child"] neq """> <foreach name="v["child"]" item="v2"> <div id="div2"> {$v2.number} </div> </foreach> </if> </div> </foreach>
引用:http://bbs.csdn.net/topics/392029744
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇: TP5 模板如何引用共同文件
- 下一篇: MySQL LIKE 用法:搜索匹配字段中的指定内容