2012-12-03 59 views
0

我使用Codeigniter庫分頁進行搜索。問題是即使我有2個來自數據庫表的結果,單擊下一個或上一個鏈接只顯示一個結果。 代碼: 控制器codeigniter分頁鏈接不能正常工作

function search() 
{ 
    $this->load->library('pagination'); 
    $perpage =1; 
    $page = 1; 
    $search_content = $this->input->get('con_search'); 
    $data->search = $this->public_model->search_content($search_content, $perpage); 
    $total = count($this->public_model->search_content($search_content)); 
    $config['base_url'] = current_url()."?con_search=".$search_content; 
    $config['total_rows'] = $total; 
    $config['per_page'] = 1; 
    $config['cur_page'] = $page; 
    $config['use_page_numbers'] = TRUE; 
    $config['query_string_segment'] = "page"; 
    $config['display_pages'] =TRUE; 
    $config['page_query_string'] = TRUE; 
    $config['cur_tag_open'] = '<span class="current">'; 
    $config['cur_tag_close'] = '</span>'; 
    $config['next_link'] = 'Next'; 
    $config['prev_link'] = 'Previous'; 
    $config['prev_tag_open'] = '<span class="prevtag">'; 
    $config['prev_tag_close'] = '</span>'; 
    $config['next_tag_open'] = '<span class="nexttag">'; 
    $config['next_tag_close'] = '</span>';   
    $this->pagination->initialize($config); 

    $data->footer = $this->public_model->get_footer(); 
    $this->load->helper('text'); 
    $this->load->view('header', $data); 
    $this->load->view('search'); 
    $this->load->view('footer'); 
} 

型號:

function search_content($search_txt, $perpage = 0) 
{ 
    if($perpage){ 
     $this->db->limit($perpage); 
    } 
    $this->db->select('title, description, alias'); 
    $this->db->where('status', 'yes'); 
    $this->db->like('description', $search_txt); 
    $res = $this->db->get('tbl_content')->result_array(); 
    return $res; 
} 

觀點:

if($search && is_array($search)) { 
    foreach($search as $ind=>$val) 
    { 
     $this->db->select('menu_type_id'); 
     $this->db->where('menu_alias', $val['alias']); 
     $res = $this->db->get('tbl_menu')->row_array(); 
     if($res) { 
      if($res['menu_type_id'] == 2) 
       $url = site_url('page/'.$val['alias']); 
      else 
       $url = site_url('page/footer/'.$val['alias']); 
     } 
     ?> 
     <div class="box_1"> 
      <div class="deal_contents"> 
       <div class="bx_0"><a href="<?php echo $url ?>" style="color:orangered;"><?php echo $val['title'] ?></a></div> 
       <div class="bx_1" style="width:670px;"><?php echo strip_tags(character_limiter($val['description'],200)) ?></div> 
       <div class="bx_2" style="text-align:right; width:640px;"><a href="<?php echo $url ?>" style="color:orangered;">Read More</a></div> 
      </div> 
     </div> 
    <?php    
    } 
    echo $this->pagination->create_links(); 
} 

在此先感謝

+0

檢查你是否在'$ total'中獲得正確的值.... – bipen

+0

@bipen我正在獲取所有值但仍然沒有運氣 –

回答

2

做這樣

$this->load->library('pagination'); 
    $limit = 10; 

    $total = $this->legend_model->get_legend_count($language_id); 

    $config['base_url'] = base_url().'legend/index/'; 
    $config['total_rows'] = $total; 
    $config['per_page'] = $limit; 
    $config['uri_segment'] = 3; 

    $config['first_link'] = '<< First'; 
    $config['last_link'] = 'Last >>'; 
    $config['next_link'] = 'Next ' . '&gt;'; 
    $config['prev_link'] = '&lt;' . ' Previous'; 
    $config['num_tag_open'] = '<span class="number">'; 
    $config['num_tag_close'] = '</span>'; 

    $config['cur_tag_open'] = '<span class="current"><a href="#">'; 
    $config['cur_tag_close'] = '</a></span>'; 

    $this->pagination->initialize($config); 
    $data['offset'] = $offset; 
    $data['legends'] = $this->legend_model->get_legend($language_id, $limit, $offset); 

    $this->template->write('title', 'Legend : Manage Legend'); 
    $this->template->write_view('content', 'legend/index', $data); 
    $this->template->render();