php常规无限极分类

数据库
CREATE TABLE `infinite_classify` (
  `id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
  `pid` smallint(6) NOT NULL,
  `title` varchar(100) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;
概览

源码实现
//字符串的输出
function get_str($id = 0) {
      global $str;
      $sql = "select id,title from infinite_classify where pid= $id"; 
      $result = mysql_query($sql);//查询pid的子类的分类
      if($result && mysql_affected_rows()){//如果有子类
              $str .= '
  • ';
            while ($row = mysql_fetch_array($result)) { //循环记录集
                $str .= "
  • " . $row['id'] . "--" . $row['title'] . "
  • "; //构建字符串
                get_str($row['id']); //调用get_str(),将记录集中的id参数传入函数中,继续查询下级
            }
            $str .= '
';
      }
      return $str;
}
//将无限极分类形成数组
function get_array($id=0){
      $sql = "select id,title from infinite_classify where pid= $id";
      $result = mysql_query($sql);//查询子类
      $arr = array();
      if($result && mysql_affected_rows()){//如果有子类
              while($rows=mysql_fetch_assoc($result)){ //循环记录集
                      $rows['list'] = get_array($rows['id']); //调用函数,传入参数,继续查询下级
                      $arr[] = $rows; //组合数组
              }
              return $arr;
      }
}
mysql_connect('localhost','root','910729') or die('链接数据库失败');
mysql_set_charset('utf8');//设定mysql客户机(php)与mysql服务器之间通信的编码
mysql_select_db('test');
//$result = mysql_query('select * from infinite_classify');
//$arr=array();
//$i=0;
//while ($val=mysql_fetch_assoc($result)){
//      $arr[$i]=$val;
//      $i++;
//}
//echo get_str();
echo '
';
print_r(get_array());
数组概览

字符串概览

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值