2010-12-04 91 views
1

好,我学会了如何做分页与笨,但什么我卡上的是你怎么把这样的:Codeigniter->使用分页与SQL SELECT

​​3210

如何获得分页到只返回上述数据?我不想只返回表中的所有数据。

function start() 
{ 
    $config['base_url'] = 'http://localhost/sakila/index.php/site/start/'; 
    $config['total_rows'] = $this->db->get('film_list')->num_rows(); 
    $config['per_page'] = '10'; 
    $config['num_links'] = '20'; 
    $config['full_tag_open'] = '<div id="pagination">'; 
    $config['full_tag_close'] = '</div>'; 


    $data['main_content'] = "start"; 
    $data['records'] = $this->db->get('film_list', $config['per_page'], 
             $this->uri->segment(3)); 
    $this->pagination->initialize($config); 
    $this->load->view('includes/template', $data); 
    echo $this->pagination->create_links();} 

那么远我已经变得和它的作品,从SQL表中提取所有数据将其插入到HTML表格并正确进行分页,我只是希望它仅限于某一类。

下面是视图,如果有帮助。

<div id="main"> 
    <h1>Documentaries</h1> 
    <?php 
    echo $this->table->generate($records); 
    echo $this->pagination->create_links(); 
    ?> 
</div> 

回答

1

您需要添加where子句。取而代之的只是:

$data['records'] = $this->db->get('film_list', $config['per_page'], 
             $this->uri->segment(3)); 

尝试是这样的:

$this->db->where('category','documentary'); 
$data['records'] = $this->db->get('film_list', $config['per_page'], 
             $this->uri->segment(3)); 
+0

非常感谢!!!,工作就像一个魅力,我什么都试过,但,我知道这是一些简单..... – 2010-12-05 18:03:12

2

希望这个代码将帮助你。

<?php 
//CONTROLLER 

$qry = "Select * FROM film_list WHERE category = 'documentary"; 

$limit = 10; 
$offset = ($this->uri->segment(3) != '' ? $this->uri->segment(3):0); 

$config['base_url'] = 'http://localhost/sakila/index.php/site/start/'; 
$config['total_rows'] = $this->db->query($qry)->num_rows(); 
$config['uri_segment'] = 3; 
$config['per_page'] = $limit; 
$config['num_links'] = 20; 
$config['full_tag_open'] = '<div id="pagination">'; 
$config['full_tag_close'] = '</div>'; 

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

$qry .= " limit {$limit} offset {$offset} "; 

$data['result_per_page'] = $this->db->query($qry)->result(); 

$this->load->view('includes/template', $data); 

对你的看法..

<div id="main"> 
    <h1>Documentaries</h1> 
    <?php 
     foreach($result_per_page as $row) 
    { 
    echo $row->column_to_show; //display result to your databse.column_to_show is just a dummy column name of the query result 
    } 

     echo $this->pagination->create_links(); 
    ?> 
</div> 
+1

抱歉对准 – Orvyl 2012-11-27 23:02:11