专栏首页程序小工PHP实现无限级分类 -- Path标识

PHP实现无限级分类 -- Path标识

摘要

在实际项目中经常要用到无限级分类,如多级分类、导航表等。PHP 实现无限级分类通常有两种实现方式,一种是利用path字段(pid+id)标识当前层级;另一种是利用递归循环pid的方式。此处介绍前种方式。

PHP 实现无限级分类 – path标识

1、数据库设计

--创建分类表
create table `b_category`(
`id` int primary key not null auto_increment,
`cat_name` varchar(20) not null default '',
`cat_description` text default '',
`level` int not null default 0 comment '等级',
`pid` int comment '父级id',
`path` varchar(10) comment 'pid+,+id标识,用于无限级分类'
);

2、PHP 代码实现

$data = $m->field("*, concat(path,',',id) as paths ")->order('paths')->select();

foreach($data as $k=>$v ){
    $data[$k]['name'] = str_repeat("   ", $v['level']) . $v['name'];
}

3、视图层显示

<div class="row cl">
  <label class="dorm-label col-2">描述:</lable>
  <div class="formControls col-5">
      <span class="select-box">
         <select class="select" size="1" name="pid">
            <option value="0" selected>顶级分类</option>
            {foreach $data as $item}
               <option value="{$item.id}">{$item.name}</option>
            {/foreach}
         </select>
      </span>
   </div>
  </div>

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【React入门】实现todolist功能

    作为一名 PHP 初级的程序员,目前尚且处于学习 PHP 业务逻辑实现到日常工作中的阶段,但是由于现在想要搭建一个满意的个人博客,并且尝试过很多 hexo 主题...

    程序小工
  • Composer设置国内镜像

    使用 composer 时,输入命令执行后半天没有反应,并最后是失败的消息。如下载项目中的框架文件时: composer install 一直没有反应

    程序小工
  • windows7使用Sphinx+PHP+MySQL详细介绍

    由于业务需要,需要做类似淘宝商城商品检索的功能,对于数据量很大的情况,MySQL 查询的效率损耗很大,需要使用专门的索引引擎进行搜索查询,实现功能,对于和 PH...

    程序小工
  • 06.Django基础五之django模型层(二)多表操作

        一对一、多对一、多对多 ,用book表和publish表自己来想想关系,想想里面的操作,加外键约束和不加外键约束的区别,一对一的外键约束是在一对多的约束...

    changxin7
  • 深度学习图像识别项目(下):如何将训练好的Kreas模型布置到手机中

    今天,我们将这种经过训练的Keras模型部署到iPhone手机或者说iOS的APP中,在这里我们使用CoreML,这 是一种易于使用的Apple应用程序机器的学...

    AiTechYun
  • (六)c#Winform自定义控件-单选框

    GitHub:https://github.com/kwwwvagaa/NetWinformControl

    冰封一夏
  • Android学习笔记(二)Manifest文件节点详解

      在上一篇博文中简单介绍了Manifest文件及其存放位置,本篇就来详细介绍一下Manifest文件中的节点和一些节点的基本作用,首先看一下Manifest文...

    codingblock
  • mongodb学习整理三,mongodb与MYSQL之间的联系。query与projection

    mongodb学习整理三,mongodb与MYSQL之间的联系。query与projection,尤其在使用mongodb的IDE:NOSQL manager ...

    学到老
  • mongodb学习整理三,mongodb与MYSQL之间的联系。query与projection

    mongodb学习整理三,mongodb与MYSQL之间的联系。query与projection,尤其在使用mongodb的IDE:NOSQL manager ...

    学到老
  • MyBatis XML简单理解

    其中,namespace用于绑定Mapper接口。不同mapper接口对应到不同的xml。

    小锋学长

扫码关注云+社区

领取腾讯云代金券