CI框架分頁查詢實現


//進行數據分頁
    /*
    @f_page 第一分頁
    @s_page 第二分頁
    @total_sql    總數sql
    @index_sql    列表sql
    @order        排序sql
    @select        查詢sql
    */
    function get_page($f_page,$s_page="index",$total_sql,$index_sql,$order,$select='',$segment=4)
    {
        $this->CI = &get_instance();
        $page = $this->CI->uri->segment(4) ? : 1;

        $per_page =  10;
    
        $config['uri_segment'] = $segment; 
        $config['next_link'] = _('下一頁');
        $config['prev_link'] = _('上一頁');
        $config['first_link'] = _('首頁');
        $config['last_link'] = _('尾頁');

        if(!empty($select)){
        $offset = empty($this->CI->input->get('per_page')) == true ? 0 : $this->CI->input->get('per_page');
        $search_url =  preg_replace('/(&per_page=)(\d*)/','', strstr($_SERVER["REQUEST_URI"], '?'));
        $config['base_url'] = '/management/'.$f_page.'/'.$s_page.'/'.$search_url;
        $config['page_query_string'] = true;
        }else
        {
            $offset = empty($this->CI->uri->segment(4)) == ture ? 0 :$this->CI->uri->segment(4);
            $config['base_url'] = '/management/'.$f_page.'/'.$s_page;
        }
        $sql=$total_sql;
        $total_db_result=$this->CI->db->query($sql)->result_array();
        $sql=$index_sql;
        
        if($select<>'')
            $sql.=' '.$select;
        $sql.=' '.$order;
        $sql.=" limit {$offset},{$per_page}";
        $db_result=$this->CI->db->query($sql)->result_array();
        
        $num_rows = $config['total_rows'] = $total_db_result[0]['total_count'];
        $this->CI->pagination->initialize($config);
        $page_link = $this->CI->pagination->create_links();
        $result=array('total'=>$total_db_result[0]['total_count'],'list'=>$db_result,'page'=>$page_link);
        return $result;
    }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM