您的位置:首页 > 编程语言 > PHP开发

php中常用的几种无限分类查询技术

2016-03-14 00:00 417 查看
数据库的设计
无限分类之一



//采用递归或者循环的思路
function getList($pid=0,&$result=array(),$spac=0)
{
$spac = $spac+2;
$sql = "select * from deepcate where pid = $pid";
$res = mysql_query($sql);
while($row=mysql_fetch_assoc($res))
{
$row['catename'] = str_repeat(' ',$spac) . '|--' . $row['catename'];
$result[] = $row;
getList($row['id'],$result,$spac);
}
return $result;
}
$rs = getList();
print_r($rs);
}

全路径无限分类



全路径无限分类的优点在于 不需要递归
关键SQL语句是: $sql = 'select id,name,path,concat(path,"-",id) as fulpath from goods order by fulpath asc';

function likedate($path="")
{
$sql ="select id,name,path,concat(path,"-",id) as fulpath from goods order by fulpath asc";
$res=mysql_query($sql);
$result = array();
while($row = mysql_fetch_assoc($res))
{
$deep = count(explode(',',trim($row['fullpath'],',')));
$row['catename] = str_repeat('  ',$deep).'|--'.$row['catename'];
$result[]=$row;

}
return $result;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: