php 无限级分类 具体数据库怎么设计 还有相关代码是什么

我想做的效果是这样的查询出每一级的子类的信息
2024年12月02日 13:49
有1个网友回答
网友(1):

/**
* 根据父级id查询子类信息
* @param int $fid
* @param array $lists
* @param int $deep
* @return array
*/
public function getLists($fid = 0,&$lists = array(),$deep = 1,$html = '|---')
{
//根据父级id查询该其所有子类的查询条件
$where = array('fid' => $fid,'status' => 1);
//要查询的字段
$field = array('id','name','fid');
//查询子类
$res = $this->select($where,$field);
//判断查询结果不为空
if(!empty($res))
{
//遍历查询结果
foreach($res as $k => $v)
{
//重组分类的名称
$res[$k]['name'] = $html . str_repeat('!---', $deep) . $res[$k]['name'];
$lists[] = $res[$k];
//再次调用查询
$this->getLists($res[$k]['id'], $lists, ++$deep);
--$deep;
}
}
return $lists;

}

表 id name pid