-
-
//数据库我用的mysql PDO 但是整个思路又是一样的
- $conn=mysql_connect('localhost','root','123');
- if(mysql_errno()){
- printf('连接失败'.mysql_error());
- }
- mysql_select_db('edeng');
- mysql_set_charset('utf8');
- /*
- *递归函数
- *@param id 要查询fid=$id的所有子类 这里将$id的默认值为设为0 是因为我在数据库中将最顶层的类别的fid设置为0
- */
- function get_array($id=0){
- $sql="select id,fid,cname from e_cat where fid= $id";
- $result=mysql_query($sql);
- $arr=array();
- if($result && mysql_affected_rows()){
- while($rows=mysql_fetch_assoc($result)){
$rows['child']=get_array($rows['id']);
- $arr[] = $rows;
- }
- return $arr;
- }
- }
- echo '
';
- $result = get_array();
- print_r($result);
-
函数首先查询出所有fid为0的类
通过while逐个循环进行回调查找fid为当前类的id的子类
-
复制代码
|