最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
PHP实现查询多级分类的程序代码
时间:2013-01-19 编辑:简简单单 来源:一聚教程网
算法的数据库结构设计最为简单。category表中一个字段id,一个字段fid(父id)。这样可以根据WHERE id = fid来判断上一级内容,运用递归至最顶层
我们先查出数组
代码如下 | 复制代码 |
$a = array( 'AAAAAA' => array( 'aaaaaa' => array( '111111', '222222', '333333' ), 'bbbbbb' => array( '111111', '222222', '333333' ), 'cccccc' => array( '111111', '222222', '333333' ), ), 'BBBBBB' => array( 'aaaaaa' => array( '111111', '222222', '333333' ), 'bbbbbb'=> array( '111111', '222222', '333333' ), 'cccccc'=> array( '111111', '222222', '333333' ), ), 'CCCCCC' => array( 'aaaaaa'=> array( '111111', '222222', '333333' ), 'bbbbbb'=> array( '111111', '222222', '333333' ), 'cccccc' => array( '111111', '222222', '333333' ), ), ); foreach ($a as $k=>$v){ echo $k." "; // if(is_array($v)){ foreach($v as $key=>$val){ echo " ".$key." "; // } if(is_array($val)){ foreach($val as $kkk=>$vall){ echo " ".$vall." "; } } } echo " "; } /*******mysql查询无限级分类的代码******/ /*** $sql = "SELECT a.Title AS big, b.Title AS small FROM largeTitle AS a LEFT JOIN smallTitle AS b ON a.ID=b.LargeID"; $a = array(); $r = mysql_query($sql); while( $arr = mysql_fetch_array($r)){ $a[$arr['big']] = $arr['small']; } ***/ ?> |
好了下面先读取数据库然后再递归读出
分类表,比如category,字段有 id,parentid,title
代码如下 | 复制代码 |
//查询 |
其它的方法,设置fid字段类型为varchar,将父类id都集中在这个字段里,用符号隔开,比如:1,3,6
这样可以比较容易得到各上级分类的ID,而且在查询分类下的信息的时候,
可以使用:SELECT * FROM category WHERE pid LIKE “1,3%”。
代码如下 | 复制代码 |
-- /** //获得root左边和右边的值 |
好了 只要这样所有的分类都可以一次性查询出来了,而不用通过递归了。
-
上一个: php开启GD库实现方法
-
下一个: PHP多维数组排序实现程序代码
相关文章
- PHP导出数据超时的优化建议解读 10-31
- PHP之mysql位运算解析 10-31
- Laravel实现登录跳转功能解析 10-31
- php双向队列解读 10-31
- Laravel异常上下文解决教程 10-24
- php数组查询元素位置方法介绍 10-24