PHP简单实现无限级分类的方法
这篇文章主要介绍了PHP简单实现无限级分类的方法,涉及sql语句及递归调用的相关技巧,需要的朋友可以参考下,本文实例讲述了PHP简单实现无限级分类的方法,分享给大家供大家参考,具体如下:
数据库结构:
- 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文件:
- $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 parent;
- $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);