PHP简单实现无限级分类的方法

时间:2022-09-04 23:40:09

本文实例讲述了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程序设计有所帮助。