background image

php 无限级分类菜单代码

这个程序的关键就在于数据表的设计很有特色,不用递归,依靠个简单

SQL 语句就能列出菜单,看看这个

数据表怎么设计的:

数据库字段大概如下:

-----------------------------------------------------------------------------------

id

编号

fid

父分类编号

name

分类名

path

分类路径,以

id 为节点,组成类似

,1,2,3,4, 这样的字符串

----------------------------------------------------------------------------------

可以假设有如下的数据

id

fid

name

path

----------------------------------------------------

1

0

分类

1

,1,

2

0

分类

2

,2,

3

1

分类

1-1

,1,3,

4

1

分类

1-2

,1,4,

5

2

分类

2-1

,2,5,

6

4

分类

1-2-1

,1,4,6,

----------------------------------------------------

这次偷懒,我只用一个页面,好在代码不长,全部代码用类封装的(不是必要,而是自己也想熟悉一下

OO,

呵呵!),来看看页面代码:

[复制

PHP

代码

]

PHP

代码如下

:

<?

php

/**************************************
**************************************/

class

menu

{

//创建构造函数,作用:数据库连接并选择相应数据库

public function

__construct

(){

$dbhost

=

"localhost"

;

$dbuser

=

"root"

;