marianobrus
Usuario Novato
Usuario Novato

El problema que tengo es que el paginador, me muetra en la pagina << 1, 2 , 3 >>, todas las paginas y andan, pero el problema que no puedo hacer que muestre de a 5 cargas por hoja, abajo les dejo el codigo de paginador.php y los codigos incorporados en doc.php para el que me pueda dar una mano, gracias

 paginador.php
-----------------------------------------------------
<?php
// Clase de paginacion
class Paging
{
// Varibles to be uses as Menu Config
// If not set with the proper Function
// they get a default Value

/* How Many result Per Page
@INT
*/
var $perPage;
/* String with the next Link-Text
@STR : Can be html to use images <img src="img/next.gif" alt="next">
*/
var $strNext;
/* String with the next Link-Text
@STR : Can be html to use images <img src="img/next.gif" alt="next">
*/
var $strPrev;
/* String with the Var name that will be used for Paging
@STR : Use Only [a-z][A-Z] Chars Please (DO NOT INCLUDE [0-9]
*/
var $varName;

// Variables For Calculation Of Result

/* Variable that Holds The Number Of Results In the Query
@INT
*/
var $total;
/* Total Number Of Pages
$INT
*/
var $totalPages;
/* Variable that Holds the number of the begibib in the query
@INT
*/
var $start;
/* THe current Value of $_GET[ $varName ]
@INT
*/
var $page;

// Variables for Storing Mysql Querys And Results

/* This Variable Holds the Original Query Of the User
@STR
*/
var $sql;

// Class Constructor PASS the query
// Only Selects
function Paging($sql)
{
// Store the Original SQL
$this->sql = $sql;
// Get The SQL Count Query String
$sqlCount = eregi_replace("select (.*) from", "SELECT COUNT(*) FROM", $this->sql);
// Fetch the Result
$sqlCount = mysql_query($sqlCount);
// Set the Total
$this->total = mysql_result($sqlCount,0,0);
}

// Method Used Internaly to Propage the URL GET Variables
function propagate(&$a,$pref='',$f='',$idx='')
{
$ret = '';
foreach ($a as $i => $j)
{
if ($i != $this->varName)
{
if ($idx != '')
{
$i = $idx."[$i]";
}
if (is_array($j))
{
$ret .= $this->propagate($j,'',$f,$i);
}
else
{
$j=urlencode($j);
if (is_int($i))
{
$ret .= "$f$pref$i=$j";
}
else
{
$ret .= "$f$i=$j";
}
}
}
$f='&';
}
return $ret;
}

// Methods For Configuration
function set_perPage($value)
{
$this->perPage = $value;
}

function set_strNext($value)
{
$this->strNext = $value;
}

function set_strPrev($value)
{
$this->strPrev = $value;
}

function set_varName($value)
{
$this->varName = $value;
}

function sysConfig()
{
// This Method Calls All all the Config Methods
// To configure the Class
if (empty($this->varName))
{
$this->set_varName('page');
}
if (empty($this->strPrev))
{
$this->set_strPrev('<< ');
}
if (empty($this->strNext))
{
$this->set_strNext(' >>');
}
if (empty($this->perPage))
{
$this->set_perPage(10);
}
$this->page = isset($_GET[$this->varName] ? $_GET[$this->varName] : 1;
$this->totalPages = ceil($this->total / $this->perPage);
$this->start = ($this->page - 1) * $this->perPage;
}

function getMenu()
{
// Config CALL
$this->sysConfig();
$string = $this->propagate($_GET);
$more = $this->page + 1;
$less = $this->page - 1;
if ($this->page != 1)
{
$navResult[] = "<a href=\"$_SERVER[PHP_SELF]?$string&$this->varName=$less\">$this->strPrev</a>";
}
for ($i=1;$i<=$this->totalPages;$i++)
{
$navResult[] = ($this->page == $i) ? " <strong>$i</strong> " : "<a href=\"$_SERVER[PHP_SELF]?$string&$this->varName=$i\">$i</a>";
}
if ($this->page != $this->totalPages)
{
$navResult[] = "<a href=\"$_SERVER[PHP_SELF]?$string&$this->varName=$more\">$this->strNext</a>";
}
$navResult = implode($navResult,' | ');
$navResult = "Mostrando Pagina $this->page de $this->totalPages - $this->total Registros<br/>" .$navResult;
return $navResult;
}

function getResult()
{
$this->sysConfig();
$this->sql .= " LIMIT $this->start, $this->perPage";
$result = mysql_query($this->sql);
return $result;
}

function debug()
{
echo '<textarea cols="60" rows="10">';
print_r($this);
echo '</textarea>';
}

}

?>
-------------------------------------------------------------------------

y doc.php que tiene codigo php incorporado:

 <?
     //if($seccion == 0)
      $query = "SELECT * FROM catalogo WHERE seccion_ita = 'Documentari' AND estado = 1 ORDER BY 1";
     //else
      //$query = "SELECT * FROM noticias WHERE IDSeccion = '".$seccion."' AND Habilitado = 1 ORDER BY OrdenHome ";

    $res = mysql_query($query);
    $total_registros = mysql_num_rows($res);

    if($total_registros > 0)
    {

     for($i=0;$i<@mysql_num_rows($res);$i++)
     {
      $cuando = "hoy por la ma&ntilde;ana";
      $IDCatalogo = mysql_result($res,$i,"IDCatalogo&quot ;
      $titolo_ita = mysql_result($res,$i,"titolo_ita&quot ;
      $titolo_ing = mysql_result($res,$i,"titolo_ing&quot ;
      $attore_ita  = mysql_result($res,$i,"attore_ita&quot ;
      $attore_ing  = mysql_result($res,$i,"attore_ing&quot ;
      $regia_ita = mysql_result($res,$i,"regia_ita&quot ;
      $regia_ing = mysql_result($res,$i,"regia_ing&quot ;
      $produzione_ita = mysql_result($res,$i,"produzione_ita&quot ;
      $produzione_ing = mysql_result($res,$i,"produzione_ing&quot ;
      $durata_ita = mysql_result($res,$i,"durata_ita&quot ;
      $durata_ing = mysql_result($res,$i,"durata_ing&quot ;
      $genere_ita = mysql_result($res,$i,"genere_ita&quot ;
      $genere_ing = mysql_result($res,$i,"genere_ing&quot ;

      $imagen = mysql_result($res,$i,"imagen&quot ;

      
?>

 y el que inserte para el paginador:

<?
include('paginador.php');

$paging =& new Paging('SELECT * FROM catalogo');

$paging->set_perPage(10);
// te muestra X registros por pagina
// si no lo llamas el default es 10
$paging->set_strNext('>>');
$paging->set_strPrev('<<');
// Cual sera el str del boton siguiente y anterior?
// los defaults son >> <<
// puede ser incluso una imagen (html : <img src="..."&gt
$paging->set_varName('page');
// pudes cambiarle el nombre a la variable GET
// sease usuarios.php?page=1
// el default es page

$res = $paging->getResult();
$nav = $paging->getMenu();

while($row = mysql_fetch_array($res))
{
echo "<b>$row[id_user]</b>:$row[userName] <br/>\n";
}
echo $nav;
?>

ATENCIÓN: Este tema no tiene actividad desde hace más de 6 MESES,
te recomendamos abrir un nuevo tema en lugar de responder al actual
Opciones:
Ir al subforo:
Permisos:
TU NO PUEDES Escribir nuevos temas
TU NO PUEDES Responder a los temas
TU NO PUEDES Editar tus propios mensajes
TU NO PUEDES Borrar tus propios mensajes
Temas similares
No se han encontrado temas similares