如何解决如何仅查询第二级类别?
| 这是我的代码,它显示所有类别,例如 一种 -A.1 -A2 乙 -B.1 -B.2 现在我只希望它显示 A.1 A2 B.1 B.2 任何想法? function current_categories($m,$id){
$cat_array=array();
$sql = \"select * from `category`\";
$query = DB::Query($sql);
while($row = DB::fetch_array($query)){
$cat_array[] = array($row[\'id\'],$row[\'name\'],$row[\'classid\'],$row[\'sort\']);
}
if($id==\"\"){
$id=0;
}
$n = str_pad(\'\',$m,\'-\',STR_PAD_LEFT);
$n = str_replace(\"-\",\" \",$n);
for($i=0;$i<count($cat_array);$i++){
if($cat_array[$i][2]==$id){
echo \"<li>\".\"<a href=\\\"/team/index.php?gid=\".$cat_array[$i][0].\"\\\">\".$cat_array[$i][1].\"</a></li>\";
current_categories($m+2,$cat_array[$i][0]);
}
}
}
解决方法
我不知道您为顶级classid值输入了什么作为classid的值。是NULL还是-1?
function second_level_categories(){
$sql = \" SELECT lvl2.* FROM `category` as lvl1 \"
.\" JOIN `category` as lvl2\"
.\" ON lvl1.id = lvl2.parent_id\"
.\" WHERE lvl1.parent_id=VALUE_FOR_TOP_LEVEL\"
.\" ORDER BY lvl1.sort ASC,lvl2.sort ASC\"
$result = DB::Query($sql);
while($category = DB::fetch_array($result)){
echo \'<li><a href=\"/team/index.php?gid=\'.$category[\'id\'].\'\">\"\';
echo $category[\'name\'];
echo \'</a></li>\';
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。