Foros del Web » Programando para Internet » PHP »

Paginacion

Estas en el tema de Paginacion en el foro de PHP en Foros del Web. Hola he cogido un codigo en internet sobre una paginacion es asi: Código PHP:   <?php $cantidadRegistrosPorPagina     =  10 ; $cantidadEnlaces             =  10 ;  $totalRegistros              ...
  #1 (permalink)  
Antiguo 23/02/2013, 12:50
 
Fecha de Ingreso: agosto-2011
Mensajes: 165
Antigüedad: 12 años, 7 meses
Puntos: 1
Paginacion

Hola he cogido un codigo en internet sobre una paginacion es asi:

Código PHP:
 <?php
$cantidadRegistrosPorPagina    
10;
$cantidadEnlaces            10
$totalRegistros             1653;
$pagina                     = isset($_GET['pagina'])? $_GET['pagina'] : 0;
require_once 
'Paginador.php';
$paginador = new Paginador();
$paginador->setCantidadRegistros($cantidadRegistrosPorPagina);
$paginador->setCantidadEnlaces($cantidadEnlaces);
$paginador->setClass('actual',          'current');
$datos              $paginador->paginar($pagina$totalRegistros);
if (
$datos) {
$enlaces $paginador->getHtmlPaginacion('pagina''span');
?>
<div style="padding-top: 10px; padding-bottom: 10px; background-color: rgb(49, 49, 49); height: 30px">
<div class="black-red">
<?php
foreach ($enlaces as $enlace) {
echo 
$enlace "\n";
}
?>
</div></div><br/><br />
 <?php
 
}
?>
Y despues lleva otra pagina paginador.php pero no lleva en ningun sitio nada de conexion a base de datos y no lo pongo por que es muy largo y no cabe tanto cararter.

Creo falta el codigo del limit??????
mi conexion de datos es: <?php require_once('Connections/libre.php'); ?>
la base de datos es libre la tabla carrito y los datos estarian en nombre


algien me puede ayudar con ese codigo?????????
  #2 (permalink)  
Antiguo 23/02/2013, 12:54
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Respuesta: Paginacion

Pues dudo que seamos capaces de adivinar como funciona esa clase desconocida, así que orientarte de ese modo es imposible.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 23/02/2013, 13:19
 
Fecha de Ingreso: agosto-2011
Mensajes: 165
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: Paginacion

Aqui

Código PHP:
Ver original
  1. <?php
  2.  
  3. class Paginador
  4. {
  5.    
  6.     private $_titulos = array('primero'           => array('vista'  => '| Primero ...',
  7.                                                            'title'  => 'Ir a la primera Pagina',
  8.                                                            'class'  => null,
  9.                                                            'off'    => null),
  10.                               'bloqueAnterior'    => array('vista'  => '<<',
  11.                                                            'title'  => 'Bloque Anterior',
  12.                                                            'class'  => null,
  13.                                                            'off'    => null),
  14.                               'anterior'          => array('vista'  => '<',
  15.                                                            'title'  => 'Pagina Anterior',
  16.                                                            'class'  => null,
  17.                                                            'off'    => null),
  18.                               'siguiente'         => array('vista'  => '>',
  19.                                                            'title'  => 'Pagina Siguiente',
  20.                                                            'class'  => null,
  21.                                                            'off'    => null),
  22.                               'bloqueSiguiente'   => array('vista'  => '>>',
  23.                                                            'title'  => 'Bloque Siguiente',
  24.                                                            'class'  => null,
  25.                                                            'off'    => null),
  26.                               'ultimo'            => array('vista'  => '... Ultimo |',
  27.                                                            'title'  => 'Ir a la Ultima Pagina',
  28.                                                            'class'  => null,
  29.                                                            'off'    => null),
  30.                               'numero'            => array('vista'  => null,
  31.                                                            'title'  => 'Ir a la pagina ',
  32.                                                            'class'  => null,
  33.                                                            'off'    => null),
  34.                               'actual'            => array('vista'  => null,
  35.                                                            'title'  => 'Estas viendo esta pagina',
  36.                                                            'class'  => null,
  37.                                                            'off'    => null));
  38.  
  39.    
  40.     private $_marcador = array('antes'      => '|',
  41.                                'despues'    => '|');
  42.  
  43.    
  44.     private $_paginacion = array();
  45.  
  46.    
  47.     private $_cantidadDeRegistrosPorPagina = 10;
  48.  
  49.    
  50.     private $_cantidadDeEnlacesDelPaginador = 10;
  51.  
  52.    
  53.     private $_cantidadPaginas;
  54.    
  55.    
  56.     private $_omitir    = array();
  57.    
  58.    
  59.     private $_pagActual;
  60.    
  61.        private $_propagar;
  62.    
  63.    
  64.     private $_urlDestino = null;
  65.    
  66.    
  67.     public function  __construct($crpp = 10, $cep = 10)
  68.     {
  69.         $this->_cantidadDeRegistrosPorPagina    = ((int)$crpp > 0)? $crpp : 10;
  70.         $this->_cantidadDeEnlacesDelPaginador   = ((int)$cep > 0)? $cep : 10;
  71.     }
  72.  
  73.    
  74.     public function setCantidadRegistros($cantidad = 10)
  75.     {
  76.         $this->_cantidadDeRegistrosPorPagina    = ((int)$cantidad > 0)? $cantidad : 10;
  77.     }
  78.  
  79.    
  80.     public function setCantidadEnlaces($cantidad = 10)
  81.     {
  82.         $this->_cantidadDeEnlacesDelPaginador   = ((int)$cantidad > 0)? $cantidad : 10;
  83.     }
  84.  
  85.    
  86.     public function setPropagar(Array $variables)
  87.     {
  88.         $getUrl = '&';
  89.         foreach ($variables as $valor) {
  90.             $valorUrl= isset($_GET[$valor])? $_GET[$valor] : null;
  91.             $getUrl .= urlencode($valor) . '=' . $valorUrl . '&';
  92.         }
  93.         $getUrl = substr($getUrl, 0, strlen($getUrl)-1);
  94.         $this->_propagar = $getUrl;
  95.     }
  96.    
  97.    
  98.    
  99.     public function paginar($pagina,$cantidadDeResultados)
  100.     {
  101.         $pagina = ((int)$pagina < 0)? 0 : $pagina;
  102.         $this->_pagActual = $pagina;
  103.         if ($cantidadDeResultados < 1) {
  104.             return false;
  105.         }
  106.        
  107.         $paginaInicial  = $paginaFinal    = 0;
  108.         $paginacion     = array();
  109.         $totalPaginas   = ceil($cantidadDeResultados / $this->_cantidadDeRegistrosPorPagina);
  110.  
  111.         if ($totalPaginas < 2) {
  112.             $this->_cantidadPaginas = 1;
  113.             return false;
  114.         }
  115.  
  116.         if ($totalPaginas <= $this->_cantidadDeEnlacesDelPaginador) {
  117.             $paginaInicial      = 1;
  118.             $paginaFinal        = $totalPaginas;
  119.         } else {
  120.             $centroPaginador    = floor($this->_cantidadDeEnlacesDelPaginador / 2);
  121.             $paginaInicial      = ($pagina+1) - $centroPaginador;
  122.             $paginaFinal        = $paginaInicial + $this->_cantidadDeEnlacesDelPaginador - 1;
  123.  
  124.             if ($paginaFinal > $totalPaginas) {
  125.                 $paginaFinal    = $totalPaginas;
  126.                 $paginaInicial  = $paginaFinal - ($this->_cantidadDeEnlacesDelPaginador -1);
  127.             }
  128.  
  129.             if ($paginaInicial < 1) {
  130.                 $paginaInicial  = 1;
  131.                 $paginaFinal    = $this->_cantidadDeEnlacesDelPaginador;
  132.             }
  133.         }
  134.  
  135.         $ajuste         = floor($this->_cantidadDeEnlacesDelPaginador / 2);
  136.         $ajuste2        = 1 - ($this->_cantidadDeEnlacesDelPaginador % 2);
  137.         $blockInicio    = $paginaInicial - $this->_cantidadDeEnlacesDelPaginador + $ajuste  - 1;
  138.         $blockFinal     = $paginaFinal + $this->_cantidadDeEnlacesDelPaginador - $ajuste  + $ajuste2;
  139.         $paginaInicial  = $paginaInicial - 1;
  140.         $paginaFinal    = $paginaFinal - 1;
  141.        
  142.        
  143.         $this->_primera($paginaInicial);
  144.         $this->_bloqueAnterior($blockInicio, $ajuste);
  145.         $this->_anterior($pagina);
  146.         $this->_paginacion($pagina, $paginaInicial, $paginaFinal);
  147.         $this->_siguiente($pagina, $totalPaginas);
  148.         $this->_bloqueSiguiente($paginaFinal, $totalPaginas, $blockFinal);
  149.         $this->_ultima($paginaFinal, $totalPaginas);
  150.        
  151.         $this->_cantidadPaginas = $totalPaginas;
  152.         return $this->_paginacion;
  153.     }
  154.  
  155.    
  156.     public function setTitulosVista($titulo, $valor)
  157.     {
  158.         if (array_key_exists($titulo, $this->_titulos)) {
  159.            $this->_titulos[$titulo]['vista'] = htmlspecialchars($valor) ;
  160.         }
  161.     }
  162.  
  163.    
  164.     public function setTitulosTitle($titulo, $valor)
  165.     {
  166.         if (array_key_exists($titulo, $this->_titulos)) {
  167.            $this->_titulos[$titulo]['title'] = htmlspecialchars($valor);
  168.         }
  169.     }
  170.    
  171.    
  172.     public function setClass($titulo, $clase = null, $claseOff = null)
  173.     {
  174.         if (array_key_exists($titulo, $this->_titulos)) {
  175.            $this->_titulos[$titulo]['class']    = $clase;
  176.            $this->_titulos[$titulo]['off']      = $claseOff;
  177.         }
  178.     }
  179.  
  180.    
  181.     public function setMarcador($antes, $despues)
  182.     {
  183.         $this->_marcador['antes']   = htmlspecialchars($antes);
  184.         $this->_marcador['despues'] = htmlspecialchars($despues);
  185.     }
  186.  
  187.    
  188.     public function setOmitir($omitir = array())
  189.     {
  190.         if (is_array($omitir)) {
  191.             $this->_omitir = $omitir;
  192.         }
  193.     }
  194.    
  195.    
  196.     public function setUrlDestino($url = null)
  197.     {
  198.         $this->_urlDestino = empty ($url)? $_SERVER['PHP_SELF'] : $url;
  199.     }
  200.    
  201.    
  202.     public function getPaginacion()
  203.     {
  204.         return $this->_paginacion;
  205.     }
  206.  
  207.    
  208.     public function getHtmlPaginacion($varGet = 'pagina', $cont = 'li')
  209.     {
  210.         $paginador = array();
  211.         foreach ($this->_paginacion as $enlace) {
  212.             $htmlPag    = '';
  213.             if ($enlace['class']) {
  214.                 $htmlPag   .= '<' . $cont;
  215.                 if ($enlace['class'] != '<>' ) {
  216.                     $htmlPag   .=  ' class="' . $enlace['class'] . '" ';
  217.                 }
  218.                 $htmlPag   .= '>';
  219.             }
  220.            
  221.             if ($enlace['numero'] != $this->_pagActual && empty ($enlace['off'])) {
  222.             $htmlPag   .= '<a href="' . $this->_urlDestino . '?' . $varGet . '='
  223.                         . $enlace['numero']
  224.                         . $this->_propagar . '" '
  225.                         . 'title="' . $enlace['title'] . '" '
  226.                         . '>' . $enlace['vista'] . '</a>';
  227.             } else {
  228.                 $htmlPag   .= $enlace['vista'] ;
  229.             }
  230.            
  231.             if ($enlace['class']) {
  232.                 $htmlPag   .= '</' . $cont . '>';
  233.             }
  234.             $paginador[]= $htmlPag;
  235.         }
  236.        
  237.         return $paginador;
  238.     }
  239.    
  240.    
  241.     public function getCantidadPaginas()
  242.     {
  243.         return $this->_cantidadPaginas;
  244.     }
  245.    
  246.     private function _primera($paginaInicial)
  247.     {
  248.         if ($paginaInicial != 0 && !in_array('primero', $this->_omitir)) {
  249.             $this->_paginacion[]    = array('numero'   => 0,
  #4 (permalink)  
Antiguo 23/02/2013, 13:25
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Respuesta: Paginacion

A ver, aquí quien tiene que aprender a usar las cosas que se encuentra no somos nosotros, eres tu.

No me refería precisamente al código, supongo que de donde bajaste el código debería tener algún tutorial o ayuda.

A simple vista dicho código no va a ejecutar ninguna consulta por ti, de hecho debes pasar todos los parámetros pertinentes, y al final ejecutar tus propias consultas leyendo los parámetros generados por la clase.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: html, paginacion, registro, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:17.