0

我在显示分页时遇到了一点问题。即使只有一个查询,也会出现分页。我知道缺少的是我在 $Pagesquery上的 sql 语句。

这是我的控制器

    //This will only display local packages
    public function displayLocalPackages($page=0,$offset=6,$search=''){

        $search = $this->input->post('search');     
        $row = $this->m_tour->getAllLocalTours($offset,$page,$search);
        $data['usersTable'] = $row->result();
        $data['pagination'] = $this->m_tour->getLocTourPages();
        $data['offset'] = $offset;
        $data['page'] = $page;
        $data['search'] = $search;
        $data['title'] = 'Local Packages';
        $this->load->view('vdisplaylocaltours',$data);

    }

这是我的模型功能

    //will get the number of local pages

    public function getLocTourPages(){
    $Pagesquery = $this->db->get('tb_package');
            $config['base_url'] = site_url('ctour/displayLocalPackages');
     $config['total_rows']= $Pagesquery->num_rows();
            $config['per_page'] = 6;
            $config['first_link'] = 'First'; 
            $config['prev_link'] = 'Previous';
            $config['next_link'] = 'Next';
            $config['last_link'] = 'Last';  
            $this->pagination->initialize($config);
    return $this->pagination->create_links();   

    }   

public function getAllLocalTours($offset,$count,$search){

        #This will only occur if $search is NOT empty
        if ($search!=''){ 
                $this->db->where("(cat_id LIKE '%1%' AND pack_name LIKE '%$search%')");
                   $this->db->where('pack_status','available');
         }

        #cat_id corresponds with the local packages 
          $this->db->where('cat_id',1);
          $this->db->where('pack_status','available');
          $this->db->order_by('pack_name', 'desc'); 
          $this->db->order_by('pack_id', 'desc'); 

         #Query on the table package
          $LocalQuery = $this->db->get('tb_package',$offset,$count);

            if($LocalQuery->num_rows > 0){
                return $LocalQuery;
            }
            else{
            return FALSE;   
        }           
    }
4

2 回答 2

0

呵呵,在查看我的代码时,我意识到我只需要将相同的 sql 查询放在“getLocTourPages”函数中:P

$this->db->where('cat_id',1); $this->db->where('pack_status','available');

于 2012-07-14T17:48:44.660 回答
0

总行数应该是

$config['total_rows']= $Pagesquery->num_rows()/6; //per page is given as 6 in your code
于 2012-07-14T16:47:16.157 回答