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

yipeiwu_com5年前PHP代码库

本文实例讲述了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 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相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《php排序算法总结》、《PHP常用遍历算法与技巧总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《PHP数学运算技巧总结》、《php正则表达式用法总结》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

Php-Redis安装测试笔记

Php-Redis安装测试笔记

后端开发用到php操作redis,在此将安装测试过程中遇到的问题汇总记录下来,以便以后参考!(系统为ubuntu) 1.redis安装 下载地址:http://download.redi...

php array_key_exists() 与 isset() 的区别

php array_key_exists用于检查某个键名是否存在于数组中,而isset也可以用于检测数组中某个键名是否存在,那么二者有什么区别呢?本文章将为大家讲解array_key_e...

PHP之变量、常量学习笔记

有关变量的传地址赋值 PHP 3 中,变量总是传值赋值。PHP 4 提供了另外一种方式给变量赋值:传地址赋值。使用传地址赋值,即简单地追加一个(&...

浅谈PHP无限极分类原理

浅谈PHP无限极分类原理

1.递归:程序调用自身的编程技巧称为递归 2.案例: /** * @param 递归 $[name] */ function deeploop(&$i=1){ echo...

php实现字符串首字母大写和单词首字母大写的方法

本文实例讲述了php实现字符串首字母大写和单词首字母大写的方法。分享给大家供大家参考。具体分析如下: ucfirst可以对字符串首字母进行大小,ucwords可以对字符串中每个单词的首字...