这个循环在MooPHP中应该怎么处理?
数据库id 类别ID
classname 类别名称
parentid 上一级类别
只有两级的一个分页
我想要的效果是
类别一
类别一小类
类别一小类
类别二
类别二小类
类别三
直接用PHP做还挺简单的,在MooPHP中该怎么处理呢? 哪里有问题呢 问题就是不会做啊。:$ 能再说明白一些么 不知道具体要干什么 我理解是两级的循环 可以主循环做第一级 然后第一级有一个子键记录下级内容 输出的时候判断子键是不是空的 如果不是就做子循环输出下级内容 就是这个程序部分要怎么写,还有模板部分的循环要怎么做?
用两级时比如第一级
$db->getAll("SELECT * FROM Table where rootid=0 ORDER BY ID DESC")
下一级的要怎么写?
在模板中的循环要怎么写?
要是有MooPHP的无限级分类的例子就更好了。:lol
[[i] 本帖最后由 网络疯子 于 2008-8-9 17:35 编辑 [/i]] rootid应该是上一级的ID吧[code]
$cats = array();
$query = $db->query("SELECT * FROM Table where ORDER BY rootid, ID DESC");
while($row = $db->fetch_array($query) {
if($row['rootid'] == 0) {
$cats[$row[cid]] = $row; // 假设cid段为该表主ID
} elseif(isset($cats[$row['rootid']])) {
$cats[$row['rootid']]['subcat'][$row['cid']] = $row;
}
}[/code] 终于解决了。
我的做法是:
PHP代码[code]$sql="select * from `{$dbTablePre}category` where parentid=0 and ctype='article' order by cid asc";
$result=$db->query($sql);
while($rs=$db->fetchArray($result)) {
$sqls="select * from `{$dbTablePre}category` where parentid=".$rs['cid']." order by cid asc";
$results=$db->query($sqls);
while($ors=$db->fetchArray($results)) {
$smallclass[]=array('cid'=>$ors['cid'],'cname'=>$ors['cname']);
}
$infoclass[]=array('cid'=>$rs['cid'],'cname'=>$rs['cname'],'smallclass'=>$smallclass);
unset($smallclass);
}[/code]模板部分:[code]
<!--{loop $infoclass $key $info}-->
{$info['cid']}_{$info['cname']}<br />
<!--{loop $infoclass[$key]['smallclass'] $small}-->
|--{$small['cid']}_{$small['cname']}<br />
<!--{/loop}-->
<!--{/loop}-->[/code]显示的样式:
1_旅游资讯
2_特产特色
3_出游常识
4_户外
|--5_登山(户外)
|--6_攀岩(户外)
[[i] 本帖最后由 网络疯子 于 2008-8-11 17:36 编辑 [/i]]
页:
[1]