2015-09-09 16 views
2

我想禁用分頁,如果數據低於6, 這是我的腳本上的控制器:如何禁用分頁如果數據少於6或等? (笨)

function index(){ 

    $per_page= $this->input->get('per_page'); 
    $data['brand'] = $this->brand_model->brand(); 
    $data['type'] = $this->type_model->type(); 
    $data['city'] = $this->city_model->city(); 
    $data['location'] = $this->location_model->location(); 
    $data['history']= $this->history_transaksi_model->history($to,$per_page); 

    $pagination['page_query_string'] = TRUE; 
    $pagination['base_url'] = site_url().'history/?'; 
    $pagination['total_rows'] = 10; 
    $pagination['per_page'] = 5; 
    $pagination['uri_segment'] = 6; 
    $pagination['num_links'] = 3; 


    $pagination['full_tag_open'] = '<ul class="pagination">'; 
    $pagination['full_tag_close'] = '</ul>'; 
    $pagination['first_link'] = '<<'; 
    $pagination['first_tag_open'] = '<li class="prev page">'; 
    $pagination['first_tag_close'] = '</li>'; 
    $pagination['last_link'] = '>>'; 
    $pagination['last_tag_open'] = '<li class="next page">'; 
    $pagination['last_tag_close'] = '</li>'; 
    $pagination['next_link'] = '>'; 
    $pagination['next_tag_open'] = '<li class="next page">'; 
    $pagination['next_tag_close'] = '</li>'; 
    $pagination['prev_link'] = '<'; 
    $pagination['prev_tag_open'] = '<li class="prev page">'; 
    $pagination['prev_tag_close'] = '</li>'; 
    $pagination['cur_tag_open'] = '<li class="active"><a href="">'; 
    $pagination['cur_tag_close'] = '</a></li>'; 
    $pagination['num_tag_open'] = '<li class="page">'; 
    $pagination['num_tag_close'] = '</li>'; 


    $this->pagination->initialize($pagination); 
    $this->load->view('history.php',$data); 
} 

在我看來,我是使用if語句,但是當數據大於5,分頁沒有顯示,並且第六個數據或更多不會顯示太多。

<?php 

if(count($history->result())==0 || count($history->result()) <=5 ){ 

}else{ 
echo $this->pagination->create_links(); 
} 
?> 

回答

0

什麼你正在尋找&你在做什麼是錯的

你正在做

$data['history']= $this->history_transaksi_model->history($to,$per_page);//Here actually you are getting data for the page e.g page 3 data 

在這裏,您應該計算總行例如你有100行數據此分頁

$pagination['total_rows'] = 10; 

這應該是一個方法調用你的表從模型或到 直接DB調用表獲得的記錄總數此 分頁

$pagination['total_rows'] = $this->history_transaksi_model->get_total_rows();//if you have any search params pass it to the method 

而且我的建議是,雖然你有少於6個記錄你正在創建分頁。

$data['pagination']= '';//init pagination value 

if (($pagination['total_rows'] = $this->history_transaksi_model->get_total_rows()) > 5) { 
    $pagination['page_query_string'] = TRUE; 
    $pagination['base_url'] = site_url().'history/?'; 
    $pagination['total_rows'] = 10; 
    $pagination['per_page'] = 5; 
    $pagination['uri_segment'] = 6; 
    $pagination['num_links'] = 3; 


    $pagination['full_tag_open'] = '<ul class="pagination">'; 
    $pagination['full_tag_close'] = '</ul>'; 
    $pagination['first_link'] = '<<'; 
    $pagination['first_tag_open'] = '<li class="prev page">'; 
    $pagination['first_tag_close'] = '</li>'; 
    $pagination['last_link'] = '>>'; 
    $pagination['last_tag_open'] = '<li class="next page">'; 
    $pagination['last_tag_close'] = '</li>'; 
    $pagination['next_link'] = '>'; 
    $pagination['next_tag_open'] = '<li class="next page">'; 
    $pagination['next_tag_close'] = '</li>'; 
    $pagination['prev_link'] = '<'; 
    $pagination['prev_tag_open'] = '<li class="prev page">'; 
    $pagination['prev_tag_close'] = '</li>'; 
    $pagination['cur_tag_open'] = '<li class="active"><a href="">'; 
    $pagination['cur_tag_close'] = '</a></li>'; 
    $pagination['num_tag_open'] = '<li class="page">'; 
    $pagination['num_tag_close'] = '</li>'; 


    $this->pagination->initialize($pagination); 

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

} 

如果有自定義HTML包裹分頁

if (! empty($pagination)) { 
    echo '<div class="pagination">' . $pagination . '</div>'; 
} 

否則只是echo

echo $pagination; 
+0

謝謝您的回答,,我的問題已經解決了:) – Pandu44