Paginacion del Maestro Jonathan Morales

12 views
Skip to first unread message

Nicolas Ezequiel Almonacid

unread,
Aug 11, 2014, 7:19:56 PM8/11/14
to programa...@googlegroups.com
hola amigos otra vez por aca, creo que acabando con esto ya termino mi proyecto y dejo de molestar jeje, me queda por hacer la paginacion de resultados, estuve viendo en la web del master jonathan y me he descargado un ejemplo que tiene en su web, analizandolo creo poder adaptarlo a mi sistema actual, pero me saltan algunas dudas:


2°- el archivo class(el original) tiene una funcion getArticulos y se le pasa un parametro($inicio), creo que el equivalente mio seria:
//Listado de Avisos
       
function listadoAvisos($inicio){
           
//Variable para la Consulta SQL (ultimo aviso queda en primer lugar)
           
           
try{
                $query
="select * from  avisos ORDER BY cod_aviso desc limit $inicio, 10";
           
           
//Preparamos la Consulta para su ejecucion:
           
            $stmt
=$this->con->prepare($query);
           
           
//Ejecutamos la Consulta
            $stmt
->execute();
           
           
//Obtengo el total de filas afectadas por la accion que se realiza
           $res
=$stmt->rowCount();
           
           
           
/*if ($res === "0") {
                print "Nenhum resultado encontrado na sua consulta!";
                } */


           
while ($row=$stmt->fetch()){
               $this
->datos[]=$row;
           
}
                     
           
//Retornamos los Valores
           
return $this->datos;
           
           
}catch(PDOException $e){
                echo $e
->getMessage();
           
}//catch

           
}//Función listadoAvisos
ejecuto y me lista 10 registros, hasta ahi todo bien...ahora en el ejemplo aparece

$noti = $obj->getArticulos($inicio);
    $tArt = $obj->totalArt();
    $tPag = $tArt/10;

y aca ya me empiezo a perder, yo actualmente tengo mi codigo asi:la funcion para contar el total de avisos hasta ahora la tengo asi:

       
function Totalavisos(){
           
//
            $query
="select count (*) as total from avisos";
            $stmt
=$this->con->prepare($query);
            $stmt
->execute();
           
if ($reg = mysql_fetch_array($result)) {
                $this
->total = $reg["total"];
           
}
           
return $this->total;
         
       
}
en la funcion deberia ir este codigo?:
$res=$stmt->rowCount();
          
           
           /*if ($res === "0") {
                print "Nenhum resultado encontrado na sua consulta!";
                } */

            while ($row=$stmt->fetch()){
               $this->datos[]=$row;
            }
                    
            //Retornamos los Valores
            return $this->datos;

hasta ahora tengo dudas hasta aca, resolviendo esto creo que el resto no deberia tener complicaciones de adptarlo a como trabjo...muchas gracias nuevamente amigos, espero que hallan tenido un lindo dia....

Jonathan Morales Salazar

unread,
Aug 13, 2014, 7:55:48 PM8/13/14
to programa...@googlegroups.com
el método listadoAvisos recibe el parámetro $inicio que es el valor inicial del limit en el SQL, de tal manera que la primera página recibe 0 y lista 10 registros, es decir, hasta el nueve, la página siguiente recibiría el 10 y así sucesivamente.
En cuanto a esto:

$tArt = $obj->totalArt();
$tPag = $tArt/10;

lo primero obtiene el total de registros, ya que en el método listadoAvisos solo tendría 10. Lo segundo calcula el número de páginas, de esta forma sabremos cuántas páginas mostrar. según su método, debería remplazar totalArt por Totalavisos (le recomiendo que use Camell Case, el método debería llamarse totalAvisos, esto no afecta el funcionamiento, solo es por estandar)





--
--
Publicar: programa...@googlegroups.com
Anular suscripción: programando-an...@googlegroups.com
Webs: http://www.blonder413.com/ - http://www.cesarcancino.com/ - http://www.oscar-gomez.net/ - http://www.keyphercom.com/blog/

---
Has recibido este mensaje porque estás suscrito al grupo "Programando Ando" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a programando-an...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.



--


Jonathan Morales Salazar
Ingeniero de Sistemas
www.blonder413.com

Reply all
Reply to author
Forward
0 new messages