|   | |
| @admin:回复 #3 确实因为输出搜索结果还需要得出页数会第一句SQL所以就省略了 我想到一个办法不执行sql         {hook a_search_index_2}
        
        
        $Thread = M("Thread");
        $data=array();
        $data = $Thread->search_list($pageid,$this->conf['searchlist'],$key);
        $Thread->format($data);
        {hook a_search_index_3}
//这部分
        $count = $this->_count['thread'];
        $count = (!$count)?1:$count;
        $page_count = ($count % $this->conf['searchlist'] != 0)?(intval($count/$this->conf['searchlist'])+1) : intval($count/$this->conf['searchlist']);
//修改
        $t=$key;
        foreach ($data as &$v) {
            $v['title'] = str_replace($key,'<font color="red">'.$key.'</font>',$v['title']);
            
        }
        {hook a_search_index_v}
        $this->v("pageid",$pageid);
        $this->v("page_count",$page_count);
        $this->v("data",$data);
        $this->v("top_list",array());
        $this->display('search_index');改成         {hook a_search_index_2}
        
        
        $Thread = M("Thread");
        $data=array();
        $data = $Thread->search_list($pageid,$this->conf['searchlist'],$key);
        $Thread->format($data);
        {hook a_search_index_3}
//这部分
        $count = count($data);
        if($count<$this->conf['searchlist'])
          $page_count = $pageid;//因为view文件里是要判断他们相等才不让点
        else
          $page_count = $pageid+1;//永远不相等
//修改
        $t=$key;
        foreach ($data as &$v) {
            $v['title'] = str_replace($key,'<font color="red">'.$key.'</font>',$v['title']);
            
        }
        {hook a_search_index_v}
        $this->v("pageid",$pageid);
        $this->v("page_count",$page_count);
        $this->v("data",$data);
        $this->v("top_list",array());
        $this->display('search_index');唯一的缺点就是当 $count的值和$this->conf['searchlist']一样时,也是会让点下一页的 | |
加载更多