terça-feira, 28 de outubro de 2014

Paginação no Codeigniter

//Controller

public function index(){

$this->load->library('pagination');
$config['base_url'] = 'http://localhost/www/cipadrao/usuario/index/';
$config['per_page'] = 5;
$config['num_links'] = 5;
$config['total_rows'] = $this->count();

$limit[0] = $config['per_page'];
$limit[1] = $this->uri->segment(3) ? $this->uri->segment(3) : 0;

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

//selecionando os dados
$this->data['usuarios'] = $this->usuario->findAll(null, null, $limit);
$this->data['pagination'] = $this->pagination->create_links();
//padronizando o caminho da página
$page = setPage($this->data['module'], 'lista');
//chamando a page pelo template
$this->template->view($page, $this->data);
}

//retorna a quantidade de registros da consulta
private function count($where=null){
$this->load->model('usuario_model');
return $this->usuario_model->count($where);
}

//View

<table border="1" width="100%">
<tr>
<td>Id</td>
<td>Nome</td>
<td>Email</td>
<td>Alterar</td>
<td>Excluir</td>
</tr>
<?php
if(count($usuarios)){
foreach($usuarios as $usuario){
$buffer = null;
$buffer .= '<tr>';
$buffer .= '<td>'.$usuario['usuario_id'].'</td>';
$buffer .= '<td>'.$usuario['usuario_nome'].'</td>';
$buffer .= '<td>'.$usuario['usuario_email'].'</td>';
$buffer .= '<td><a href="'.base_url('usuario/edit/'.$usuario['usuario_id']).'">Alterar</a></td>';
$buffer .= '<td><a href="'.base_url('usuario/delete/'.$usuario['usuario_id']).'">Excluir</a></td>';
$buffer .='</tr>';
echo $buffer;
}
}
else{
echo 'Nenhum registro encontrado.';
}
?>
</table>
<br/>
<div id="pagination"><?php echo $pagination; ?></div>

Nenhum comentário:

Postar um comentário