本文实例讲述了PHP简单实现无限级分类的方法。分享给大家供大家参考,具体如下:
数据库结构:
1
2
3
4
5
6
|
CREATE TABLE IF NOT EXISTS `city` (
`id` int (11) NOT NULL auto_increment,
` name ` varchar (30) character set utf8 collate utf8_unicode_ci NOT NULL default '0' ,
`parentId` int (11) NOT NULL default '0'
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;
|
php文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
$db = new DB( $Config [ 'host' ], $Config [ 'user' ], $Config [ 'password' ], $Config [ 'port' ], $Config [ 'db' ], $Config [ 'charset' ]);
function findCity( $table , $id =0, $level =1){
global $db ;
$findSql = "select id,name,parentId from $table where parentId={$id} order by id" ;
$findResult = $db ->getArray( $findSql );
$num = $db ->numRows;
$logoStr = "|" ;
for ( $i =0; $i < $level ; $i ++){
$logoStr .= "--" ;
}
if ( $num !=0){
for ( $j =0; $j < $num ; $j ++){
echo "<option value={$findResult[$j]['id']}>{$logoStr}{$findResult[$j][name]}</option>" ;
findCity( $table , $findResult [ $j ][ 'id' ], $level +1);
}
}
}
findCity(city);
|
希望本文所述对大家PHP程序设计有所帮助。