表:artClass 文章类别   article 文章。其中有个classID是标识这篇文章属于哪个文章类别的显示的效果如下:这是单个的类别,但是应该要循环输出多个的.96*96是图片来的大家就给个思路,数据库那边应该怎么读,怎么组合数据。然后模板那里应该怎么循环

解决方案 »

  1.   

    while() // 读三条, 图片也应该是数据库里面的
    {
    {pic}
    {title}
    }while() // 读 4-10条  ..
    {
    {title}
    }
      

  2.   

    好像不能编辑帖子。我把我的代码贴出来模板页的:我用的是DIV,但布局还是跟图一样的{section name="classlist" loop=$classlist}
    {if ($smarty.section.classlist.index + 1)%2==0}
    <div class="datatable2">
    {else}
    <div class="datatable1">
    {/if}
    <div class="title"><h2>{$classlist[classlist].className}</h2><span class="more">更多&gt;&gt;</span></div>
    <div class="box">
    <div class="left">

    {section name="piclist" loop=$piclist}
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr>
    <td><img src="{$piclist[piclist].pic}" width="96" height="96" alt="" /></td>
    </tr>
      <tr>
    <td>{$piclist}</td>
    </tr>
    </table>
    {/section}
    </div>
    <div class="right">
    <ul>
    {section name="datalist" loop=$datalist}
    <li><a href="#"></a></li>
    {/section} </ul>
    </div>
    </div>
    </div>
    {/section}PHP的: $sql="select * from ff_artClass  where classLevel=1 order by onTop desc,sort,id desc";
    $rs=$DB->SelectLimit($sql,50);
    $rows=$rs->RecordCount();
    for($i=0;$i<$rows;$i++){

    /* //print_r($rs);
    //生成类别下的文章
    $sql="select * from ff_article where auditing=1 and (classID=".$rs->fields["id"]." or classID in (select id from ff_artClass where topClass=".$rs->fields["id"].")) and  pic<>'' order by onTop desc,sort,id desc";
    $rs2=$DB->SelectLimit($sql,3);
    $t->assign("piclist",$rs2->GetRows(3));
    $sql="select * from ff_article where auditing=1 and (classID=".$rs->fields["id"]." or classID in (select id from ff_artClass where topClass=".$rs->fields["id"].")) and  pic='' order by onTop desc,sort,id desc";
    $rs2=$DB->SelectLimit($sql,12);
    $t->assign("datalist",$rs2->GetRows(12));
    */
    $rs->MoveNext();
    }
    $rs->MoveFirst();
    $t->assign("classlist",$rs->GetRows(50));类别读出来是没有问题,但是下面的文章总是读不出来。对smarty了解不深,所以这个的也很烦恼我啊。纠结
      

  3.   

    看了一下你的布局搞的好像也不对  ..然后,你php没写代码 读出那些文章,下面的怎么会出来呢?你只  
    $t->assign("classlist",$rs->GetRows(50));
    搞了上面一小块而已
      

  4.   

    布局是排列的像图那样的。只是说section怎么放的问题-_-PHP代码,给我注释的那段就是读出文章来的啊,只不过我贴到这里是注释掉而已,就算没有注释,它仍然读不出来的
      

  5.   


    {section name="classlist" loop=$classlist}
    {if ($smarty.section.classlist.index + 1)%2==0}
    <div class="datatable2">
    {else}
    <div class="datatable1">
    {/if}
        <div class="title"><h2>{$classlist[classlist].className}</h2><span class="more">更多&gt;&gt;</span></div>
        <div class="box">
            <div class="left">
                
                <!-- BEGIN piclist -->
                <table width="100%" border="0" cellspacing="0" cellpadding="0">
              <tr>
                <td><img src="{pic}" width="96" height="96" alt="" /></td>
                </tr>
              <tr>
                <td>{title}</td>
                </tr>            
            </table>
            <!-- END piclist -->
            </div>
            <div class="right">
                <ul>
                    <!-- BEGIN datalist -->
                    <li><a href="#">{title}</a></li>
                    <!-- END datalist -->            </ul>
            </div>
        </div>
    </div>
    {/section}
     $sql="select * from ff_artClass  where classLevel=1 order by onTop desc,sort,id desc";
                $rs=$DB->SelectLimit($sql,50);
                $rows=$rs->RecordCount();
                for($i=0;$i<$rows;$i++){
                                    //print_r($rs);
                    //生成类别下的文章
                    $sql="select pic,title from ff_article where auditing=1 and (classID=".$rs->fields["id"]." or classID in (select id from ff_artClass where topClass=".$rs->fields["id"].")) and  pic<>'' order by onTop desc,sort,id desc";
                    $rs2=$DB->SelectLimit($sql,3);
                    $t->assign("piclist",$rs2);                
                    $sql="select title from ff_article where auditing=1 and (classID=".$rs->fields["id"]." or classID in (select id from ff_artClass where topClass=".$rs->fields["id"].")) and  pic='' order by onTop desc,sort,id desc";
                    $rs2=$DB->SelectLimit($sql,12);
                    $t->assign("datalist",$rs2);
                                    $rs->MoveNext();                
                }
                $rs->MoveFirst();
                $t->assign("classlist",$rs->GetRows(50));