30超时 Widget 求助

浏览:1248 发布日期:2012/12/26 分类:求助交流 关键字: thinkphp 超时
<?php 
class ArtContentWidget extends Widget{
    /**
     * 用于挂件使用,获取导航新闻内容页面
     */
     function render($data){
         $title = $data['title'];
        $tid = isset($data['tid']) ? intval($data['tid']) : 0;
        //获取类别信息
        $dh="";
        $lumn = M("Articlecolumn")->where("scid=$tid")->select();
            foreach ($lumn as $key => $values) {
                $url="";
                $s_c = M("Articlecolumn")->where("scid={$values['cid']}")->count();
                if($s_c==0){
                    $url = U("Article/particularlist",array('Syd'=>$values['cid'],'name'=>$title));
                }else {
                    $url=U('Article/artlist',array('Syd'=>$values['cid'],'name'=>$values['name']));
                }
                $dh .="
                    <a href='".$url."'>".$values['name']."</a>|";
            }
        import("ORG.Util.Page"); // 导入分页类
        $_count = M("Articlecolumn")->where("scid=$tid")->count();
        $_page = new Page($_count,12);
        $_list = M("Articlecolumn")->where("scid=$tid")->limit($_page->firstRow.','.$_page->listRows)->select();
        foreach($_list as $key=>$val){
                $cid=$val['cid'];
                $act = M("Article");
                $content_str = "";
                $listArt=array();
                $listArt = $act->where("cid=$cid")->order('aid desc')->limit(7)->select();
                if((count($listArt))<7){
                    $se_where['cid']=array('exp',"in(SELECT `cid` FROM `articlecolumn` WHERE scid=$cid)");
                    $app_list = $act->where($se_where)->order('aid desc')->limit(7-count($listArt))->select();
                    $listArt = array_merge($listArt,$app_list);
                }
                foreach($listArt as $key=>$vals){
                    $url_listcontent=U("Article/listcontent",array('Syd'=>$vals['aid']));
                    $content_str .= "<li><a href='".$url_listcontent."'><span>".date('Y-m-d',$vals['postDate'])."</span>".$vals['subject']."</a></li>";
                }
                $url_particularlist=U("Article/particularlist",array('Syd'=>$val['cid'],'name'=>$val['name']));
            $result .="<div class='modular1'>
                <div class='modular_title'> 
                <strong>".$val['name']."</strong> 
                  <span>
                    <a href='".$url_particularlist."'>
                        更多>>
                    </a>
                  </span> 
                </div>
                <ul class='col_modular'>".$content_str."</ul>
                </div>";                
            }
            
        $assign = array(
            'cateselect'=>$result,//$cateselect
            'tls'=>$title,
            'slist'=>$_list,
            'dh'=>$dh,
            'pageStr'=>$_page->show(),
        );
        return $this->renderFile("ArtContent",$assign);
    }
}
?>
if((count($listArt))<7){
                    $se_where['cid']=array('exp',"in(SELECT `cid` FROM `articlecolumn` WHERE scid=$cid)");
                    $app_list = $act->where($se_where)->order('aid desc')->limit(7-count($listArt))->select();
                    $listArt = array_merge($listArt,$app_list);
                }
就这句,如果注释掉的话 是可以访问的
不注释 偶尔会 30秒超时
做的是:查询该类别下的 7条数据,如果数据不足7条
就再查 类别子类下一级)的数据.

大神帮忙 看看,
最佳答案
评论( 相关
后面还有条评论,点击查看>>