php无限极分销系统,无限极分类php

本文目录一览:

怎么理解php中无限极

无限极分类简单点说就是一个类可以分成多个子类,然后一个子类又可以分另外多个子类这样无限分下去,就好象windows可以新建一个文件夹,然后在这个文件夹里又可以建一些个文件夹,在文件夹底下还可以建一些文件夹一样。

php 几种常用的递归 无限极分类

 /**

     * 递归实现无限极分类

     * @param $array 分类数据

     * @param $pid 父ID

     * @param $level 分类级别

     * @return $list 分好类的数组 直接遍历即可 $level可以用来遍历缩进

     */

    function getTree($array, $pid =0, $level = 0){

        //声明静态数组,避免递归调用时,多次声明导致数组覆盖

        static $list = [];        foreach ($array as $key = $value){            //第一次遍历,找到父节点为根节点的节点 也就是pid=0的节点

            if ($value[‘pid’] == $pid){                //父节点为根节点的节点,级别为0,也就是第一级

                $value[‘level’] = $level;                //把数组放到list中

                $list[] = $value;                //把这个节点从数组中移除,减少后续递归消耗

                unset($array[$key]);                //开始递归,查找父ID为该节点ID的节点,级别则为原级别+1

                getTree($array, $value[‘id’], $level+1);

            }

        }

thinkphp前台怎么输出无限极分类

最主要的是要掌握无限极分类的逻辑,那么写起来就很容易的多了

首先看数据库表:xp_cate

控制器: CateAction.class.php

?php

class CateAction extends Action{

function index(){

$cate=M(‘Cate’);

$list=$cate-field(“id,name,pid,path,concat(path,’-‘,id) as bpath”)-order(‘bpath’)-select();

foreach($list as $key=$value){

$list[$key][‘count’]=count(explode(‘-‘,$value[‘bpath’]));

}

$this-assign(‘alist’,$list);

$this-display();

}//添加栏目

function add(){

$cate=new CateModel();if($vo=$cate-create()){

if($cate-add()){

$this-success(‘添加栏目成功’);

}else{

$this-error(‘添加栏目失败’);

}

}else{

$this-error($cate-getError());

}

}}

?

模型:CateModel.class.php

?php

class CateModel extends Model{//对应数据库中的表xp_cate

protected $_auto=array(

array(‘path’,’tclm’,3,’callback’),

);function tclm(){

$pid=isset($_POST[‘pid’])?(int)$_POST[‘pid’]:0;

echo ($pid);

if($pid==0){

$data=0;

}else{

$list=$this-where(“id=$pid”)-find();

$data=$list[‘path’].’-‘.$list[‘id’];//子类的path为父类的path加上父类的id

}

return $data;

}

}

?

模板:index.html

form action=”!-URL-!/add” method=”post”

请选择父级栏目:select name=”pid” size=”20″

option value=”0″根栏目/option

volist name=”alist” id=”vo”

option value=”{$vo[‘id’]}”

for start=”0″ end=”$vo[‘count’]”

/for

{$vo[‘name’]}

/option

/volist

/selectbr /

新的栏目名称:input type=”text” name=”name” /br /

input type=”submit” value=”添加栏目” /

/form

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/188985.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-11-29 07:59
下一篇 2024-11-29 08:00

相关推荐

  • PHP和Python哪个好找工作?

    PHP和Python都是非常流行的编程语言,它们被广泛应用于不同领域的开发中。但是,在考虑择业方向的时候,很多人都会有一个问题:PHP和Python哪个好找工作?这篇文章将从多个方…

    编程 2025-04-29
  • Deepin系统分区设置教程

    本教程将会详细介绍Deepin系统如何进行分区设置,分享多种方式让您了解如何规划您的硬盘。 一、分区的基本知识 在进行Deepin系统分区设置之前,我们需要了解一些基本分区概念。 …

    编程 2025-04-29
  • Java任务下发回滚系统的设计与实现

    本文将介绍一个Java任务下发回滚系统的设计与实现。该系统可以用于执行复杂的任务,包括可回滚的任务,及时恢复任务失败前的状态。系统使用Java语言进行开发,可以支持多种类型的任务。…

    编程 2025-04-29
  • 如何在树莓派上安装Windows 7系统?

    随着树莓派的普及,许多用户想在树莓派上安装Windows 7操作系统。 一、准备工作 在开始之前,需要准备以下材料: 1.树莓派4B一台; 2.一张8GB以上的SD卡; 3.下载并…

    编程 2025-04-29
  • PHP怎么接币

    想要在自己的网站或应用中接受比特币等加密货币的支付,就需要对该加密货币拥有一定的了解,并使用对应的API进行开发。本文将从多个方面详细阐述如何使用PHP接受加密货币的支付。 一、环…

    编程 2025-04-29
  • 分销系统开发搭建

    本文主要介绍如何搭建一套完整的分销系统,从需求分析、技术选型、开发、部署等方面进行说明。 一、需求分析 在进行分销系统的开发之前,我们首先需要对系统进行需求分析。一般来说,分销系统…

    编程 2025-04-29
  • EulerOS V2R7:企业级开发首选系统

    本文将从多个方面为您介绍EulerOS V2R7,包括系统简介、安全性、易用性、灵活性和应用场景等。 一、系统简介 EulerOS V2R7是一个华为公司开发的企业级操作系统,该系…

    编程 2025-04-28
  • 云盘开源系统哪个好?

    本文将会介绍几种目前主流的云盘开源系统,从不同方面对它们做出分析比较,以此来确定哪个云盘开源系统是最适合您的。 一、Seafile Seafile是一款非常出色的云盘开源系统,它的…

    编程 2025-04-28
  • 使用PHP foreach遍历有相同属性的值

    本篇文章将介绍如何使用PHP foreach遍历具有相同属性的值,并给出相应的代码示例。 一、基础概念 在讲解如何使用PHP foreach遍历有相同属性的值之前,我们需要先了解几…

    编程 2025-04-28
  • 基于Python点餐系统的实现

    在当前瞬息万变的社会,餐饮行业也在加速发展,如何更好地为客户提供更加便捷、高效、个性化的点餐服务,成为每个餐饮企业需要思考的问题。本文以基于Python的点餐系统为例,通过优化用户…

    编程 2025-04-28

发表回复

登录后才能评论