<?php
header("Content-type:text/html;charset=utf-8");
class Category{
/**
*@param [Array] $data [从数据库中读取的结果集(二维索引数组)]
*@param [String] $id [自增主键字段名]
*@param [String] $pid [上级分类]
*@param [String] $level [分类等级]
*@param [int] $count [顶级分类id]
*@return [Array] [重新排列的数组]
*/
public static $result = array();
protected $pid = "";
protected $level = "";
protected $count = "";
public function fenlei($data,$id="id",$pid="pid",$level="level",$num=0,$count=0){
foreach($data as $key=>$value){
if($value[$pid]==$count){
$value[$level] = $num;
$this->level = $value[$level];
self::$result[] = $value;
$this->pid = $value[$id];
unset($data[$key]);
$this->fenlei($data,$id,$pid,$level,$num+1,$this->pid);
}
}
return self::$result;
}
}
$link =mysql_connect("localhost","root","admin");
mysql_select_db("mytry");
mysql_query("set names utf8");
$result = mysql_query("select * from ab_szdq");
var_dump($result);
while($list = mysql_fetch_assoc($result)){
$array[]=$list;
}
var_dump($array);
echo "<hr />";
$Category= new Category;
$list = $Category->fenlei($array,"id","parent_id");
var_dump($list);
?>
这个应该没问题了,心好累 最佳答案
