Re: Problema con paginador
| From: | Alexis Saucedo | Date: | Thu, 12 Nov 2015 12:53:25 +0000 |
| Subject: | Re: Problema con paginador | ||
| References: | 1 2 3 4 | Groups: | php.general.es |
| Request: | Send a blank email to general-es+get-65716@lists.php.net to get a copy of this message | ||
Luis, la verdad que de tantos emails no lo habia visto, te super agradezco
por reenviarlo voy a implementarlo a ver como me va.
Muchisimas gracias por tu tiempo!, un gran saludo.
El 12 de noviembre de 2015, 9:51, Luis Vega <fodsite@gmail.com> escribió:
> Te respondí hace muchos días, acá va denuevo:
>
> Utiliza esta clase:
>
> <?php
>
> // This is a helper class to make paginating records easy.
> class Pagination {
> public $current_page;
> public $per_page;
> public $total_count;
>
> public function __construct($page=1, $per_page=20, $total_count=0){
> $this->current_page = (int)$page;
> $this->per_page = (int)$per_page;
> $this->total_count = (int)$total_count;
> }
>
> public function offset() {
> // Assuming 20 items per page:
> // page 1 has an offset of 0 (1-1) * 20
> // page 2 has an offset of 20 (2-1) * 20
> // in other words, page 2 starts with item 21
> return ($this->current_page - 1) * $this->per_page;
> }
>
> public function total_pages() {
> return ceil($this->total_count/$this->per_page);
> }
> public function previous_page() {
> return $this->current_page - 1;
> }
>
> public function next_page() {
> return $this->current_page + 1;
> }
>
> public function has_previous_page() {
> return $this->previous_page() >= 1 ? true : false;
> }
>
> public function has_next_page() {
> return $this->next_page() <= $this->total_pages() ? true : false;
> }
> }
>
> ?>
>
>
>
> Ejemplo:
>
> <?
> require_once('paginator.inc.php');
>
> $page = !empty($_GET['page']) ? (int)$_GET['page'] : 1;
> $per_page = 9; // Registros por pagina
>
> $sql = "SELECT * FROM articulos";
> $res = @mysql_query($sql,$dbh);
> $total_count = @mysql_num_rows($res);
> $pagination = new Pagination($page, $per_page, $total_count);
>
> $sql .= " LIMIT ".$per_page;
> $sql .= " OFFSET ".$pagination->offset();
>
> $res = @mysql_query($sql,$dbh);
>
> if(@mysql_num_rows($res) > 0){
> while($row = mysql_fetch_array($res)){
> // Mostrar contenido
> echo $row['nombre'];
> }
> }
>
> ?>
>
>
> Mostrar paginador
>
> <?php
> if(@mysql_num_rows($res) > 0){
> if($pagination->total_pages() > 1) {
> echo "<div class=\"paginador\">";
>
> if($pagination->has_previous_page()) {
> echo "<a
>
> href='index.php?page=".$pagination->previous_page()."'>Anterior</a>";
> }
>
> for($i=1; $i <= $pagination->total_pages(); $i++) {
> if($i == $page) {
> echo "<strong>".$i."</strong>";
> } else if($i == $page-1 || $i == $page-2 || $i == $page-3 || $i == $page+1
> || $i == $page+2 || $i == $page+3){
> echo "<a
> href='".$paramPath."destacadas/".$i."'>".$i."</a>";
> }
> }
>
> if($pagination->has_next_page()) {
> echo "<a
> href='index.php?page=".$pagination->next_page()."'>Siguiente</a>
> ";
> }
> echo "</div>";
> }
> }
>
> ?>
>
>
> Saludos
>
>
> El 12 de noviembre de 2015, 9:46 a. m., Alexis Saucedo<
> alexissaucedo@gmail.com> escribió:
>
>> Bueno roberto igual muy agradecido de el tiempo que te tomaste en
>> contestar este email, segurile luchando con san google, jaj.
>>
>> Un gran saludo.
>>
>> El día 12 de noviembre de 2015, 6:17, Roberto Barreiro
>> <rpbarreiro@gmail.com> escribió:
>> >
>> > El 12 de noviembre de 2015, 0:34, Alexis Saucedo <
>> alexissaucedo@gmail.com>
>> > escribió:
>> >>
>> >> gracias de antemano.
>> >
>> >
>> > hace 5 años atras, habia cientos de programadores en esta y en otras
>> > listas.... lamentablemente estan muertas desde hace ya mucho tiempo ....
>> una
>> > pena, yo aprendi mucho aqui ....y tambien me ayudaron mucho..
>> >
>> > lamento no poder ayudar, hace ya años que deje la programacion y eso que
>> > hice proyectos muy grandes he importantes .... tendria que instalar
>> todas
>> > las herramientas de programacion, LAMP, etc para revisar tu codigo y ver
>> > como se puede resolver y mejorar ...
>> >
>> > la verdad es que no se porque no me he dado de baja de esta lista aun
>> .....
>> > dicen que en google esta todo, pero no es asi.... hay cosas que solo la
>> > experiencia te dan .....
>> >
>> > te tocara probar suerte en google y luchar en solitario ..... mucha
>> suerte!!
>> >
>> >
>>
>> --
>> PHP Spanish Localization Talk Mailing List (http://www.php.net/)
>> To unsubscribe, visit: http://www.php.net/unsub.php
>>
>>
>
>
> --
> Luis Vega Martínez
> Diseño y Desarrollo Web
> Celular: +(56 9) 66787687
> Web: www.crea7ive.cl
>
>
>