文档章节

php 无限分类

Tony2015
 Tony2015
发布于 2015/04/28 09:21
字数 280
阅读 7
收藏 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); 


?>


© 著作权归作者所有

共有 人打赏支持
上一篇: php 时间操作
下一篇: tp小细节
Tony2015
粉丝 1
博文 50
码字总数 28618
作品 0
杭州
程序员
私信 提问
PHP通过传引用的思想实现无限分类的方法

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

卖小女孩的小火柴
2015/10/13
106
0
照片管理系统--W-Script

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

匿名
2010/01/14
3.3K
4
【军哥谈CI框架】之无限分类类库的实现和应用

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

jayjun0805
2012/11/13
0
6
免费电商系统--123PHPSHOP

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

123phpshop
2015/11/03
3.9K
0
php中常用的几种无限分类查询技术

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

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

没有更多内容

加载失败,请刷新页面

加载更多

ConcurrentHashMap源码解析

初始化 先看看ConcurrentHashMap中几个重要的属性: // 初始化容量大小static final int DEFAULT_INITIAL_CAPACITY = 16;//默认负载因子static final float DEFAULT_LOAD_FACTOR = 0.75f...

grace_233
11分钟前
0
0
java对象的浅拷贝和深拷贝

浅拷贝 java的数据类型有基本数据类型(如:int、long等)和引用数据类型。例如:对象1中有属性a(基本数据类型)和属性b(引用数据类型),在进行浅拷贝到对象2时,属性a复制属性的值给对象...

yangyangyyyy
11分钟前
0
0
SQLServer AlwaysOn在阿里云的前世今生

缘起 早在2015年的时候,随着阿里云业务突飞猛进的发展,SQLServer业务也积累了大批忠实客户,其中一些体量较大的客户在类似大促的业务高峰时RDS的单机规格(规格是按照 内存CPUIOPS 一定比例...

阿里云云栖社区
12分钟前
0
0
ubuntu16.04 LNMP搭建 php7.1

sudo apt-get update sudo apt-get install mysql-server mysql-client sudo apt-add-repository ppa:ondrej/php sudo apt-get update sudo apt-get install php7.1 php7.1-fpm php7.1-cgi p......

一千零一夜个为什么
19分钟前
0
0
阿里云高级技术专家带你全面了解云主机性能评测

钱超,花名西邪,阿里云高级技术专家,超12年老阿里,是云主机性能领域的知名专家。 在目前的云计算测评领域,很多性能测评存在营销的包装,容易引起误导:比如用瞬时性能引导读者得出结论,...

阿里云官方博客
26分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部