2012-09-15 74 views
1

正常工作,我有我的看法分頁這是工作的罰款,如果我點擊下一個數字link.like:分頁不是笨

1 2 > 

所以,如果我點擊2不言而喻第二頁和顯示正確的結果。但現在,如果我想回來1比它不重定向我。即使有鏈接3比我不能來了。2.

這裏是我的代碼:

控制器:

function list_providers() 
{ 

    $admin_session_data= $this->session->userdata('user_logged_in'); 

    $this->load->model('/admin/provider_model'); 
    $this->load->library('pagination'); 
    $this->load->helper('url'); 

    $config['base_url'] = base_url()."index.php/admin/provider/list_providers/"; 
    $config['total_rows'] = $this->provider_model->countprovider(); 
    $config['per_page'] = 3; 
    $config['creat_link'] = 1; 
    $config['first_link'] = 'First'; 
    $config['last_link'] = 'Last'; 

    $this->pagination->initialize($config); 
    $offset=($this->uri->segment(4)) ? $this->uri->segment(4) : 0; 
    $data['list']= $this->provider_model->listproviders($config['per_page'],$offset); 

    //$data['customer']= $this->provider_model->getcustomer_data($config['per_page'],$this->uri->segment(3)); 


    if(!empty($data)) 
    { 
     $this->load->view('admin/admin_header',$admin_session_data); 
     $this->load->view('admin/admin_top_nav',$admin_session_data); 
     $this->load->view('admin/admin_left',$admin_session_data); 
     $this->load->view('admin/provider_list',$data); 
     $this->load->view('admin/admin_footer',$admin_session_data); 
    } 

} 

型號:

function listproviders($num,$offset) 
{ 
    $this->load->library('pagination'); 

    //$query=$this->db->get_where('users', array('user_role_id'=>'3')); 
    $query=$this->db->get('users',$num,$offset); 

    // return result set as an associative array 
    return $query->result_array(); 
} 


function countprovider() 
{ 
    $this->load->library('pagination'); 
    $query=$this->db->count_all_results('users'); 
    return $query; 
} 

而我是分頁如下所示:1 2>

請看看問題出在哪裏。

+0

'$配置[ 'creat_link'] = 1;'檢查此 –

+0

我認爲有一個錯誤的分頁庫,因爲我有同樣的問題,使用它幾天前 –

+0

@raheelshan但它對我來說完美的工作 –

回答

3

我對控制器和模型做了一些更改。變化被註釋:

控制器

// admin/provider/list_providers/3 <- Offset number 
function list_providers($offset = null) 
{  
    $admin_session_data= $this->session->userdata('user_logged_in'); 

    // Load models/libraries/helpers 
    $this->load->model('admin/provider_model'); 
    $this->load->library('pagination'); 
    $this->load->helper('url'); 

    // Pagination config 
    $config['base_url'] = site_url('index.php/admin/provider/list_providers') . '/'; 
    $config['total_rows'] = $this->provider_model->countprovider(); 
    $config['per_page'] = 3; 
    // $config['creat_link'] = 1; <-- This is not a valid option 
    $config['first_link'] = 'First'; 
    $config['last_link'] = 'Last'; 

    // Init config 
    $this->pagination->initialize($config); 

    // If the pagination library doesn't recognize the current page add: 
    $this->pagination->cur_page = $offset; 

    $data['list']= $this->provider_model->listproviders($config['per_page'],$offset); 

    if(!empty($data)) 
    { 
     $this->load->view('admin/admin_header',$admin_session_data); 
     $this->load->view('admin/admin_top_nav',$admin_session_data); 
     $this->load->view('admin/admin_left',$admin_session_data); 
     $this->load->view('admin/provider_list',$data); 
     $this->load->view('admin/admin_footer',$admin_session_data); 
    } 
} 

模型

function listproviders($num,$offset) 
{ 
    // $this->load->library('pagination'); <-- There is no need for this 
    $query = $this->db->get('users', $num, $offset); 

    // Check if pages where found 
    if ($query->num_rows() > 0) 
    { 
     return $query->result_array(); 
    } 
    else 
    { 
     return FALSE; 
    } 

} 


function countprovider() 
{ 
    // $this->load->library('pagination'); <-- There is no need for this 
    return $this->db->count_all_results('users'); 
} 
+0

是的...所有的變化都可以接受,但是沒有解決我的問題。 –

+1

你可以嘗試添加(見控制器): '$ this-> pagination-> cur_page = $ offset;' – Philo

+0

真棒這個作品...!如果我添加$ this-> pagination-> cur_page = $ offset; philo是什麼問題? –

1

直接從庫中創建鏈接.. 這樣的..

$data['links']= $this->pagination->create_links(); 

,並考慮給予類似

<div align="center" style="margin-top:10px;background-color: #F1F8E0"> 
     <?php echo $links; ?> 
</div> 

編輯:

示例代碼:

function __construct() 
    { 

     parent::__construct(); 
     $this->load->helper('array'); 
     $this->load->helper('url'); 
     $this->load->helper('html'); 
     $this->load->helper('form'); 
     $this->load->library('form_validation'); 
     $this->load->library('pagination'); 
     $this->load->library('session'); 
     $this->load->model('listing','',TRUE); 
    } 

    // Shows pagination 

    function index($uri_segment="3") 
{ 
     $config['base_url'] = base_url('index.php/listing_controller/index'); 
     $config['total_rows'] = $this->listing->get_rows(); 
     $config['per_page'] = 5; 
     $config['uri_segment'] = 3; 
     $this->pagination->initialize($config); 
     $output['op']=$this->listing->get_paging_data($config['per_page'],$this->uri->segment(3)); 
     $output['links']= $this->pagination->create_links(); 
     $this->load->view('listing_view',$output); 
    } 

而上面顯示的是查看文件中的代碼段

+0

不工作....! –

+0

@HarshalMahajan您是否將uri->段作爲參數傳遞給函數索引? –

+0

@HarshalMahajan檢查編輯 –