2013-02-18 5 views
0

Вот мой код:Как настроить кодовое обозначение CodeIgniter?

$config['base_url'] = base_url() . 'settings/profile/'; 
$config['total_rows'] = $data['count_user_posts']; 
$config['per_page'] = 3; 
$offset = ($this->uri->segment('3') * $config['per_page'])/2; 
$this->pagination->initialize($config); 
$config['use_page_numbers'] = True; 
$data['user_posts'] = $this->post_model->get_user_posts($_SESSION['user_id'], $config['per_page'], $config['offset']); 

Проблема, когда я нажимаю на 2 или любой другой линии связи, он показывает некоторые данные из предыдущей странице также. Любое решение - что я делаю неправильно?

+0

В коде выше вы вычисления '$ offset' но вы передавая или принимая внимание то же при выборке записей ? – Rikesh

+0

Я не могу понять .... в $ offset Я пытаюсь получить номер смещения из третьего сегмента uri – rafi

+0

Вам нужно будет передать смещение вашей модели и использовать ее для расчета возвращаемых записей. – Jeemusu

ответ

1

Вот пример, как я реализовал

В контроллер

function index() 
{ 
    $this->load->library('pagination'); 

    $config = array(); 
    $config["base_url"] = base_url() . "city/index"; 
    $config["total_rows"] = $this->city_model->record_count(); 
    $config["per_page"] = 20; 
    $config["uri_segment"] = 4; 

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

    $page = ($this->uri->segment(4)) ? $this->uri->segment(4) : 0; 
    $data["city"] = $this->city_model->get_cities($config["per_page"], $page); 
    $data["links"] = $this->pagination->create_links(); 
} 

В модели

function record_count() 
{ 
    return $this->db->count_all("city"); 
} 

function get_cities($limit,$start) 
{  

    $this->db->limit($limit,$start); 
    $this->db->select('*'); 
    $this->db->from('city'); 
    $this->db->order_by('city_name'); 
    $query = $this->db->get(); 

    if ($query->num_rows() > 0) { 
     foreach ($query->result() as $row) { 
      $data[] = $row; 
    } 

return $data; 
} 

return false; 

} 
1

ли как этот

public function index($offset = 0) 
{ 
    $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(); 
} 

В модели

//Get legend 
    public function get_legend($language_id = 1, $limit = 10, $offset = 0) 
    {   
     $this->db->select('l.id,lt.title,lt.status'); 
     $this->db->from('legends l'); 
     $this->db->join('legend_translations lt', 'l.id = lt.legend_id'); 
     $this->db->where('lt.language_id', $language_id); 
     $this->db->order_by('l.id DESC'); 
     $this->db->limit($limit, $offset); 

     $legend = $this->db->get(); 

     return $legend->result(); 
    } 
+0

Откуда это значение $ offset? $ data ['offset'] = $ offset; – rafi

+0

--- Откуда я получу это смещение $ valentable? – rafi

+0

смещение - из которого начинается запись, в первый раз установленное значение равно 0, на 2-й странице - 10, если предел = 10 – Shaolin

1

Я получил его. это будет код $ смещение переменной каждый ........... Thank за помощь мне ....

if($this->uri->segment(4) > 0) 
    $offset = ($this->uri->segment(4) + 0)*$config['per_page'] - $config['per_page']; 
else 
    $offset = $this->uri->segment(4); 
Смежные вопросы