2012-01-16 3 views
1

Я использовал codeigniter для легкого поиска, без ajax или чего-то еще, и я хочу интегрировать класс разбиения на страницы, я прочитал несколько примеров, и они используют библиотеку вроде этого $this->table->generate($results);, и мне нужно в каждом результате кнопку редактировать эта запись. Я уже это сделал, но теперь, когда я показываю разбивку на страницы, у меня есть большая проблема, пожалуйста, может ли кто-нибудь помочь мне с этой проблемой? Мне просто нужно ключ или что-то найти в CIКак интегрировать разбивку на страницы в мой поиск в CodeIgniter?

Я поставил здесь свою модель, контроллер и вид, только в случае, если

контроллер

public function searchdescription() 
    { 
    //$keyword = $this->input->post('keyword'); 
    $keyword = $_POST['keyword']; 
    $this->load->model('searchdesc/searchdesc_model'); 
    $data['retorno'] = $this->searchdesc_model->querydb($keyword); 
    $this->load->view('searchdesc/searchresults_view', $data); 
} 

модель

function querydb($data,$num, $offset) 
    { 

    $queryresult = $this->db->query("select * from data where deleteflag=0 and title like  '%$data%' or text like '%$data%' LIMIT $num, $offset "); 
    return $queryresult->result_array(); 
    } 

вид

foreach ($retorno as $val) 
{ 
echo $val['id']; 
echo $val['title']; 
echo $val['text']; 
...here are some forms autocreated in each row that i need to keep making it 
} 
+0

Пожалуйста, прочтите здесь: http://codeigniter.com/user_guide/libraries/pagination.html –

ответ

1

Вот пример (не используя модель)

public function big() 
{ 
    $this->load->library('pagination'); 
    $this->load->library('table'); 

    $config['base_url'] = base_url().'/site/big/'; 
    $where = "bot = '2' OR bot = '0'"; 
    $this->db->where($where); 
    $config['total_rows'] = $this->db->count_all_results('visitors'); 
    $config['per_page'] = 15; 
    //$config['num_links'] = 20; 
    $config['full_tag_open'] = '<div id="pagination">'; 
    $config['full_tag_close'] = '</div>'; 

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

    $where = "bot = '2' OR bot = '0'"; 
    $this->db->where($where); 
    $this->db->select('id, ip, date, page, host, agent, spammer, country, total, refer'); 
    $this->db->order_by("date", "DESC"); 
    $data['records'] = $this->db->get('visitors', $config['per_page'], $this->uri->segment(3)); 

    $this->table->set_heading('Id', 'IP', 'Date', 'Page', 'Host', 'Agent', 'Spam', 'Country', 'Total', 'Referer'); 

    $this->db->select_sum('total', 'trips'); 
    $query = $this->db->get('visitors'); 
    $data['trips'] = $query->result(); 

    $this->load->view('site_view', $data);  
} 

В представлении, где я хочу таблицу:

<?php echo $this->table->generate($records); ?> 
<?php echo $this->pagination->create_links(); ?> 

добавить кнопки в строках сделать что-то вроде этого

foreach($records as $row){ 
$row->title = ucwords($row->title); 

$this->table->add_row(
$row->date, 
anchor("main/blog_view/$row->id", $row->title), 
$row->status,  
anchor("main/delete/$row->id", $row->id, array('onClick' => "return confirm('Are you sure you want to delete?')")), 
anchor("main/fill_form/$row->id", $row->id) 
); 
} 
$table = $this->table->generate(); 
echo $table; 

Конечно, вы внесете изменения в соответствии с вашими потребностями

Смежные вопросы