php递归无限极分类怎么弄
4个回答
2015-02-13
展开全部
给个函数你,调用get_category()就是一个数组格式的结果
function get_category($parent_id=0){
$arr=array();
$sql = "select * from category where parent_id=$parent_id";//查询子级数据
$result = array(a_object,b_object,,,)=sql_query($sql);//查询结果一个数组或列表格式,自己完善。
if($result){
foreach($result as $re){//循环数组
if(get_category($re.id))//如果子级不为空
$re['child'] = get_category($re.id);
$arr[] = $re;
}
return $arr;
}
function get_category($parent_id=0){
$arr=array();
$sql = "select * from category where parent_id=$parent_id";//查询子级数据
$result = array(a_object,b_object,,,)=sql_query($sql);//查询结果一个数组或列表格式,自己完善。
if($result){
foreach($result as $re){//循环数组
if(get_category($re.id))//如果子级不为空
$re['child'] = get_category($re.id);
$arr[] = $re;
}
return $arr;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这表设计就是对的啊 。递归就行了啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
无限分类2行代码搞定
function genTree5($items) {
foreach ($items as $item){
$items[$item['pid']]['son'][$item['id']] = &$items[$item['id']];
return isset($items[0]['son']) ? $items[0]['son'] : array();
}
function genTree5($items) {
foreach ($items as $item){
$items[$item['pid']]['son'][$item['id']] = &$items[$item['id']];
return isset($items[0]['son']) ? $items[0]['son'] : array();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
function cate($id=0)
{
$arr = arr();//获取数据库查询出来后的二维数组
foreach($arr as $cate)
{
/*父级分类*/
if($cate['pid'] == $id)
{
echo $cate['name'],'<br>';
$sunid = $cate['id'];
/*查询子集分类*/
foreach($arr as $key=>$sun)
{
if($sun['pid'] == $sunid)
{
echo $sun['name'],'<br>';
cate($sun['id']);
}
}
}
}
}
{
$arr = arr();//获取数据库查询出来后的二维数组
foreach($arr as $cate)
{
/*父级分类*/
if($cate['pid'] == $id)
{
echo $cate['name'],'<br>';
$sunid = $cate['id'];
/*查询子集分类*/
foreach($arr as $key=>$sun)
{
if($sun['pid'] == $sunid)
{
echo $sun['name'],'<br>';
cate($sun['id']);
}
}
}
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询