登录  /  注册
博主信息
博文 145
粉丝 7
评论 7
访问量 159393
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
ThinkPHP框架:数据库链表查询和导航渲染(导航数据递归生成)
李东亚¹⁸⁰³⁹⁵⁴⁰¹²⁰
原创
1858人浏览过

一.ThinkPHP框架常见的数据库查询方法

1.ThinkPHP框架自带数据库操作Db类
2.Db类中常见的方法(可以链式操作):

  • table()或name():选择要操作的表
  • where():查询条件
    • 常见的查询条件:like|in|between|
  • select():返回数据集对象,可以toArray()转成数组
  • find();查询单个返回数组,查询失败返回null,用findorEmpty()查询失败返回空数组
  • value():返回指定值,查询不到返回null
  • column():第一位参数指定某列,第二个参数指定位索引
  • order():指定以某字段排序
    • 第一个参数为字段,第二个参数为desc或者asc,默认asc
  • field():以字符型市场传入要过滤的字段
  • view($table,字段,连表条件)连表查询,也可以指定第四个参数:LEFT,RIGHT等
  • paginate($num);分页查询返回每页显示的条数,在世视图中可以直接渲染分页{paginate($num)|raw}
  • rander();单独获取分页;视图中可以直接渲染分页{rander()|raw}
  • total();获得数据总条目数量

二.获取数据生成递归导航数据

1.一般表通过id和pid两字段关联导航的分级

  1. //把数据根据id和pid生成递归导航目录
  2. public function rules($res,$pid=0){
  3. $arr=[];
  4. foreach($res as $v){
  5. // dd($v['pid'],$pid);
  6. if($v['pid']==$pid){
  7. $v['child']=self::rules($res,$v['id']);
  8. $arr[]=$v;
  9. }
  10. }
  11. return $arr;
  12. }

2.视图模板语法

  • 变量引用{$name}
  • {volist name=”name” id=”item”}循环内容{/volist}
  • {if 条件 /}渲染内容{else /}渲染内容{/if}
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学