文档章节

php 无限分类

Tony2015
 Tony2015
发布于 2015/04/28 09:21
字数 280
阅读 7
收藏 0
点赞 0
评论 0
mysql
首先我们准备一张数据表class,记录商品分类信息。
表中有三个字段,id:分类编号,主键自增长;title:分类名称;pid:所属上级分类id。
CREATE TABLE IF NOT EXISTS `class` ( 
  `id` mediumint(6) NOT NULL AUTO_INCREMENT, 
  `title` varchar(30) NOT NULL, 
  `pid` mediumint(6) NOT NULL DEFAULT '0', 
  PRIMARY KEY (`id`) 
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;

<?php 
$conn = mysql_connect("localhost","root","123456");
if (!$conn)
  {
  die('Could not connect: ' . mysql_error());
  }
  mysql_select_db('test');
  mysql_query('set names utf8');
function get_str($id) {
    global $conn;
global $str;
    $sql = "select id,title from class where pid= $id";
//echo $sql;
    $result = mysql_query($sql,$conn); //查询pid的子类的分类 
    if($result && mysql_affected_rows()){ //如果有子类 
        $str .= ''; 
        while ($row = mysql_fetch_array($result)) { //循环记录集 
            $str .= "  " . $row['title'] . " "; //构建字符串 

            get_str($row['id']); //调用get_str(),将记录集中的id参数传入函数中,继续查询下级 
        } 
        $str .= ''; 
    } 
    return $str; 
}

echo get_str(0);

function get_array($id=0){
global $conn;
    $sql = "select id,title from class where pid= $id"; 
    $result = mysql_query($sql,$conn);//查询子类 
    $arr = array(); 
    if($result && mysql_affected_rows()){//如果有子类 
        while($rows=mysql_fetch_assoc($result)){ //循环记录集 
            $rows[' '] = get_array($rows['id']); //调用函数,传入参数,继续查询下级 
            $arr[] = $rows; //组合数组 
        } 
        return $arr; 
    } 
}
$list = get_array(0); //调用函数 
print_r($list); //输出数组 

echo json_encode($list); 


?>


© 著作权归作者所有

共有 人打赏支持
Tony2015
粉丝 1
博文 26
码字总数 28618
作品 0
杭州
程序员
【军哥谈CI框架】之无限分类类库的实现和应用

大家好,我是军哥,英文名:JayJun,一直想跟大伙交流一下学习和使用CI的心得和经验,最近也在用CI写一个在线书城项目,已经完成80%,其中有用到无限分类,关于无限分类,有许多的实现方式,今...

jayjun0805 ⋅ 2012/11/13 ⋅ 6

PHP通过传引用的思想实现无限分类的方法

在我的Simpla中,用到了无限分类,使用了PHP的传引用思想实现无限分类的方法,可以完美展示类似这样的分类模式。 具体实现代码如下:如有错误或者更好的方法,希望可以相互交流。 id pid nam...

卖小女孩的小火柴 ⋅ 2015/10/13 ⋅ 0

照片管理系统--W-Script

W-Script是一个基于PHP+MySQL搭建的开源的墙纸下载网站的建站程序。可以无限分类和分子类。可以对照片进行投票和评论,提供高级搜索功能,可以生成各种尺寸的缩略图。它也可以建立 CSS Gale...

匿名 ⋅ 2010/01/14 ⋅ 4

初学递归,接触无限分类,小小的尝试

今日学习的是无限循环,这与递归有关。其实我自己还不是完全熟悉和上手,还需要琢磨琢磨。 初步学习递归,算是无限分类的一个小练习。表:cateid int auto 自动递增pid int 0为最大的分类cat...

林伟盛 ⋅ 2014/10/29 ⋅ 0

免费电商系统--123PHPSHOP

123PHPSHOP是以php+MySQL进行开发的电商系统软件。 123PHPSHOP是专门为中国的企业和开发人员量身打造的电商解决方案,我们采取了免费,开源和简单的策略,希望帮助我们的客户从人员招聘到二次...

123phpshop ⋅ 2015/11/03 ⋅ 0

thinkphp3.1无限级分类模块的设计

实现无限级分类一般只用一个数据表,通常可通过递归和非递归两种方法来实现。递归方法必须使用递归 调用方式才能进行数据遍历,删除等操作,所以需要发送多次查询数据库语句,非常影响执行效...

网菠萝果 ⋅ 2013/03/23 ⋅ 1

php中常用的几种无限分类查询技术

数据库的设计无限分类之一 全路径无限分类 全路径无限分类的优点在于 不需要递归关键SQL语句是: $sql = 'select id,name,path,concat(path,"-",id) as fulpath from goods order by fulpath...

小麒麟的胡言乱语 ⋅ 2016/03/14 ⋅ 0

php利用多叉树(平衡树)的方式构建无限分类

说起无限分类..大多数的结构都是 id name parent_id 这种模式.整个结构比较简单清晰.要构建和更新整个分类也比较容易.但是查询起来就会非常的麻烦.经常会用到递归的算法.例如 获取某个节点的...

酒逍遥 ⋅ 2013/07/26 ⋅ 0

php无限极分类 在tp框架中的改良问题

由于经常使用在项目中使用无限极分类,所以封装成了一个类tree 其中查找id下所有子分类的函数如下: $arr为无限极整体的数组,$pid_name为父id数据库的字段名,$id为要查找的id值. static public...

manbudezhu ⋅ 2016/11/03 ⋅ 1

php 查找父类所有的子类

1.数据库表设计 id int(6) not null auto_increment primary key name varchar(20) not null , pid int(6), sort int (6) 2.php代码如下: 3.在你需要分类的文件内载入类category,并引用静态......

bengozhong ⋅ 2016/08/23 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

个人博客的运营模式能否学习TMALL天猫质量为上?

心情随笔|个人博客的运营模式能否学习TMALL天猫质量为上? 中国的互联网已经发展了很多年了,记得在十年前,个人博客十分流行,大量的人都在写博客,而且质量还不错,很多高质量的文章都是在...

原创小博客 ⋅ 今天 ⋅ 0

JavaScript零基础入门——(十一)JavaScript的DOM操作

JavaScript零基础入门——(十一)JavaScript的DOM操作 大家好,欢迎回到我们的JavaScript零基础入门。最近有些同学问我说,我讲的的比书上的精简不少。其实呢,我主要讲的是我在开发中经常会...

JandenMa ⋅ 今天 ⋅ 0

volatile和synchronized的区别

volatile和synchronized的区别 在讲这个之前需要先了解下JMM(Java memory Model :java内存模型):并发过程中如何处理可见性、原子性、有序性的问题--建立JMM模型 详情请看:https://baike.b...

MarinJ_Shao ⋅ 今天 ⋅ 0

深入分析Kubernetes Critical Pod(一)

Author: xidianwangtao@gmail.com 摘要:大家在部署Kubernetes集群AddOn组件的时候,经常会看到Annotation scheduler.alpha.kubernetes.io/critical-pod"="",以表示这是一个关键服务,那你知...

WaltonWang ⋅ 今天 ⋅ 0

原子性 - synchronized关键词

原子性概念 原子性提供了程序的互斥操作,同一时刻只能有一个线程能对某块代码进行操作。 原子性的实现方式 在jdk中,原子性的实现方式主要分为: synchronized:关键词,它依赖于JVM,保证了同...

dotleo ⋅ 今天 ⋅ 0

【2018.06.22学习笔记】【linux高级知识 14.4-15.3】

14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3 使用vsftpd搭建ftp

lgsxp ⋅ 今天 ⋅ 0

JeeSite 4.0 功能权限管理基础(Shiro)

Shiro是Apache的一个开源框架,是一个权限管理的框架,实现用户认证、用户授权等。 只要有用户参与一般都要有权限管理,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户...

ThinkGem ⋅ 昨天 ⋅ 0

python f-string 字符串格式化

主要内容 从Python 3.6开始,f-string是格式化字符串的一种很好的新方法。与其他格式化方式相比,它们不仅更易读,更简洁,不易出错,而且速度更快! 在本文的最后,您将了解如何以及为什么今...

阿豪boy ⋅ 昨天 ⋅ 0

Python实现自动登录站点

如果我们想要实现自动登录,那么我们就需要能够驱动浏览器(比如谷歌浏览器)来实现操作,ChromeDriver 刚好能够帮助我们这一点(非谷歌浏览器的驱动有所不同)。 一、确认软件版本 首先我们...

blackfoxya ⋅ 昨天 ⋅ 0

线性回归原理和实现基本认识

一:介绍 定义:线性回归在假设特证满足线性关系,根据给定的训练数据训练一个模型,并用此模型进行预测。为了了解这个定义,我们先举个简单的例子;我们假设一个线性方程 Y=2x+1, x变量为商...

wangxuwei ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部