在我们开发网站项目时,经常有遇到产品分级达二级或者三级的情况。如果后台添加产品时有限定栏目有下级栏目时,当前栏目不能添加产品,那么前台调用产品大类是很好处理并且显示产品列表的。今天我们的问题是,如果网站有三级栏目,并且每级都添加有产品,那么我们的前台如何调用?
关键的sql查询语句是 select * from 产品表 where 产品id = in (1,2,3,4) 。 对的,PHP程序的重点是调用出来栏目id及父类id为栏目id的全部分类id,并且依此类推
我们不考虑无限分类就可以机械的写二个函数
第一个函数提取一级大类
function get_class1($bid){
$sql = \"select cid from 分类表 where pid=$bid\";
这里开始循环取得父id为$bid的全部二级id号
return $str; //一般格式为 1,2,3,4, 未必有“,”,如果结果为空,就直接返回空字符
}
再调用二级分类下的子类
function get_class2($bid_array){
$sql = \"select cid from 分类表 where cid in ($bid_array)\";
再循环并且返回结果集
}
最后合并二级分类id字符串
$class_id.\",\".\"1,2,3,5,6,7\"
再补充上页面传入的第一个id号
这样就可以完成页面三级栏目的产品列表