Pareces nuevo por aquí. Si quieres participar, ¡pulsa uno de estos botones!
function paginate($items, $page_number=1, $show=10) { $n = count($items); $start = $show*($page_number-1); $page = new stdClass(); $page->items = array_slice($items, $start, $show); $page->next = ($start + $show)<$n ? ($page_number+1) : false ; $page->before = ($page_number>1) ? ($page_number-1) : false ; $page->current = $page_number; $page->total_pages = ($n % $show) ? ((int)($n/$show) + 1):($n/$show) ; return $page; }
class UsuarioController extends ApplicationController { function lista($page=1) { $_REQUEST['usuarios'] = $this->Usuario->find(); $_REQUEST['page'] = $page; } }
<center>Lista de Usuarios</center> <? $page = paginate($_REQUEST['usuarios'],$_REQUEST['page']) ?> <table align="center" border="1"> <tr> <th>Nombres</th> <th>Apellidos</th> </tr> <? foreach($page->items as $usuario){ ?> <tr> <td><?= $usuario->nombres ?></td> <td><?= $usuario->apellidos ?></td> </tr> <? } ?> </table> <table width="100%"> <tr> <td align="right"> <? if($page->before) echo link_to("usuario/lista/$page->before", '<< Anterior'); ?>&nbsp; </td> <td align="center"> <?= $page->current ?>/<?= $page->total_pages ?>&nbsp; </td> <td align="left"> <? if($page->next) echo link_to("usuario/lista/$page->next", 'Siguiente >>'); ?>&nbsp; </td> </tr> </table>
Comentarios
Muy bueno, lo he usado. Me parece excelente.
Madelyn