奇矩互动官方论坛's Archiver

网络疯子 发表于 2008-8-8 14:02

这个循环在MooPHP中应该怎么处理?

数据库
id  类别ID
classname   类别名称
parentid  上一级类别


只有两级的一个分页
我想要的效果是

类别一
   类别一小类
   类别一小类
类别二
   类别二小类
类别三

直接用PHP做还挺简单的,在MooPHP中该怎么处理呢?

习明 发表于 2008-8-8 14:33

哪里有问题呢

网络疯子 发表于 2008-8-9 08:17

问题就是不会做啊。:$

习明 发表于 2008-8-9 16:04

能再说明白一些么 不知道具体要干什么 我理解是两级的循环 可以主循环做第一级 然后第一级有一个子键记录下级内容 输出的时候判断子键是不是空的 如果不是就做子循环输出下级内容

网络疯子 发表于 2008-8-9 16:58

就是这个程序部分要怎么写,还有模板部分的循环要怎么做?

用两级时比如第一级
$db->getAll("SELECT * FROM  Table where rootid=0 ORDER BY ID DESC")

下一级的要怎么写?

在模板中的循环要怎么写?


要是有MooPHP的无限级分类的例子就更好了。:lol

[[i] 本帖最后由 网络疯子 于 2008-8-9 17:35 编辑 [/i]]

习明 发表于 2008-8-9 19:03

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]

网络疯子 发表于 2008-8-11 17:28

终于解决了。
我的做法是:
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]

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.