Re: [PHP-ES] Problema con paginador

[email protected] (Alexis Saucedo) Thu, 12 Nov 2015 09:53:25 -0300
Newsgroups php.general.es
Message-ID <CAAu=vQcQx0zwesNJ+uGsdGPfVurmd7in0CEhAta=80fnGSm9Ew@mail.gmail.com>
--089e0122893cb9d6670524576d22
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

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 <[email protected]> escribi=C3=
=B3:

> Te respond=C3=AD hace muchos d=C3=ADas, ac=C3=A1 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=3D1, $per_page=3D20, $total_count=3D=
0){
>   $this->current_page =3D (int)$page;
>          $this->per_page =3D (int)$per_page;
>          $this->total_count =3D (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() >=3D 1 ? true : false;
>    }
>
>    public function has_next_page() {
> return $this->next_page() <=3D $this->total_pages() ? true : false;
>   }
> }
>
> ?>
>
>
>
> Ejemplo:
>
> <?
> require_once('paginator.inc.php');
>
> $page =3D !empty($_GET['page']) ? (int)$_GET['page'] : 1;
> $per_page =3D 9; // Registros por pagina
>
> $sql =3D "SELECT * FROM articulos";
> $res =3D @mysql_query($sql,$dbh);
> $total_count =3D @mysql_num_rows($res);
> $pagination =3D new Pagination($page, $per_page, $total_count);
>
> $sql .=3D " LIMIT ".$per_page;
> $sql .=3D " OFFSET ".$pagination->offset();
>
> $res =3D @mysql_query($sql,$dbh);
>
> if(@mysql_num_rows($res) > 0){
> while($row =3D 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=3D\"paginador\">";
>
>           if($pagination->has_previous_page()) {
>                 echo "<a
> href=3D'index.php?page=3D".$pagination->previous_page()."'>Anterior</a>";
>           }
>
>           for($i=3D1; $i <=3D $pagination->total_pages(); $i++) {
>                 if($i =3D=3D $page) {
> echo "<strong>".$i."</strong>";
> } else if($i =3D=3D $page-1 || $i =3D=3D $page-2 || $i =3D=3D $page-3 || =
$i =3D=3D $page+1
> || $i =3D=3D $page+2 || $i =3D=3D $page+3){
> echo "<a href=3D'".$paramPath."destacadas/".$i."'>".$i."</a>";
> }
>   }
>
>           if($pagination->has_next_page()) {
> echo "<a href=3D'index.php?page=3D".$pagination->next_page()."'>Siguiente=
</a>
> ";
> }
> echo "</div>";
>     }
> }
>
> ?>
>
>
> Saludos
>
>
> El 12 de noviembre de 2015, 9:46 a. m., Alexis Saucedo<
> [email protected]> escribi=C3=B3:
>
>> 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=C3=ADa 12 de noviembre de 2015, 6:17, Roberto Barreiro
>> <[email protected]> escribi=C3=B3:
>> >
>> > El 12 de noviembre de 2015, 0:34, Alexis Saucedo <
>> [email protected]>
>> > escribi=C3=B3:
>> >>
>> >> gracias de antemano.
>> >
>> >
>> > hace 5 a=C3=B1os atras, habia cientos de programadores en esta y en ot=
ras
>> > 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=C3=B1os 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 v=
er
>> > 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 l=
a
>> > 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=C3=ADnez
> Dise=C3=B1o y Desarrollo Web
> Celular: +(56 9) 66787687
> Web: www.crea7ive.cl
>
>
>

--089e0122893cb9d6670524576d22--