文档章节

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); 


?>


© 著作权归作者所有

共有 人打赏支持
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

没有更多内容

加载失败,请刷新页面

加载更多

下一页

MySQL 乱七八糟的可重复读隔离级别实现

MySQL 乱七八糟的可重复读隔离级别实现 摘要: 原文可阅读 http://www.iocoder.cn/Fight/MySQL-messy-implementation-of-repeatable-read-isolation-levels 「shimohq」欢迎转载,保留摘要,谢...

DemonsI
42分钟前
2
0
Spring源码阅读——2

在阅读源码之前,先了解下Spring的整体架构: 1、Spring的整体架构 1. Ioc(控制反转) Spring核心模块实现了Ioc的功能,它将类与类之间的依赖从代码中脱离出来,用配置的方式进行依赖关系描...

叶枫啦啦
今天
1
0
jQuery.post() 函数格式详解

jquery的Post方法$.post() $.post是jquery自带的一个方法,使用前需要引入jquery.js 语法:$.post(url,data,callback,type); url(必须):发送请求的地址,String类型 data(可选):发送给后台的...

森火
今天
0
0
referer是什么意思?

看看下面这个回答(打不开网页可以把网址复制到搜索栏): https://zhidao.baidu.com/question/577842068.html

杉下
今天
1
0
使用U盘安装CentOS-解决U盘找不到源

1. 使用UltraISO制作CentOS安装盘 如果需要安装带界面的系统,为保证安装顺利,可选择Everything版本的ISO制作安装盘。 2. 在BIOS中选择使用U盘安装 系统启动后,进入安装选择界面,其中有三...

Houor
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部