宝哥软件园

thinkphp5框架实现数据库读取的数据转换成数据格式示例

编辑:宝哥软件园 来源:互联网 时间:2021-08-19

本文实例讲述了thinkphp5框架实现数据库读取的数据转换成数据格式。分享给大家供大家参考,具体如下:

首先从数据库读数据,然后调用列表到树方法,再调用findchild方法,最后输出

$ Category=db :名称(' Category ');$ category _ list=$类别-select();$ data=$ this-list _ to _ tree($ category _ list,' category_id ',' category_parent_id ',' children ');//调用下面的方法$ data=$ this-FindChild($ data);标题(' Content-type :应用程序/JSON;charset=utf-8 ');exit(json_encode($data,JSON _ Unescaped _ UNICODE));//返回$ this-fetch(' index ');$this-ajaxReturn($data,' JSON ');下面是两个方法:

函数find child($ arr){ static $ tree=array();foreach($ arr as $ key=$ val){ $ tree[]=$ val;if(isset($ val[' _ child ']){ $ this-find child($ val[' _ child ']);} }返回$ tree} /** *把返回的数据集转换成树* @访问公共* @参数数组$列表要转换的数据集* @param字符串$pid父级标记字段* @param字符串$级别级别标记字段* @返回数组*/函数list_to_tree($list,$pk='id ',$pid='pid ',$child='_child ',$root=0) { //创建tree $ tree=array();if(is_array($list)) { //创建基于主键的数组引用$ refer=array();foreach($ list as $ key=$ data){ $ refer[$ data[$ PK]=$ list[$ key];} foreach ($list as $key=$data) { //判断是否存在父$ ParentID=$ data[$ PID];if($ root==$ ParentID){ $ tree[]=$ list[$ key];} else { if(isset($ refer[$ parent id]){ $ parent=$ refer[$ parent id];$ parent[$ child][]=$ list[$ key];} } } }返回$ tree}转换之前的数据,直接从数据库读取,不能使用:

转换之后的数据,可以被实现版树插件直接使用的数据格式:

PS:这里再为大家推荐几款比较实用的数据在线工具供大家参考使用:

在线数据代码检验、检验、美化、格式化工具:http://tools.jb51.net/code/json

数据在线格式化工具:http://工具。JB 51。net/code/jsonformat

在线XML/JSON互相转换工具:http://工具。JB 51。net/code/xmljson

数据代码在线格式化/美化/压缩/编辑/转换工具:http://工具。JB 51。net/code/jsoncodeformat

更多关于服务器端编程语言(专业超文本预处理器的缩写)相关内容感兴趣的读者可查看本站专题: 《PHP中json格式数据操作技巧汇总》 、 《ThinkPHP入门教程》 、 《thinkPHP模板操作技巧总结》 、 《ThinkPHP常用方法总结》 、 《codeigniter入门教程》 、 《CI(CodeIgniter)框架进阶教程》 、 《Zend FrameWork框架入门教程》 及《PHP模板技术总结》 。

希望本文所述对大家基于ThinkPHP框架的服务器端编程语言(专业超文本预处理器的缩写)程序设计有所帮助。

更多资讯
游戏推荐
更多+