Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/10/2007, 11:02
yasna98
 
Fecha de Ingreso: octubre-2007
Mensajes: 2
Antigüedad: 16 años, 6 meses
Puntos: 0
Ayuda con paginacion en PHP

Hola, necesito ayuda con una paginacion que ya existia en la pagina que
estoy administrando actualmente, explico un poco la página, esta tiene
distintas secciones y subsecciones, esta paginacion funciona perfectamente
para las primeras secciones pero cuando se hace una consulta en las
subsecciones cuando quiero pasar a la segunda pagina de esa consulta me envia
a la pagina central de las secciones, es decir nunca me muestra una segunda
o tercera pagina si no esta en la primera seccion o en el menu principal, solo
funciona en esas paginas, aqui dejo el codigo que está en paginacion a ver si
me pueden ayudar con este problema..

de ante mano muchas gracias.


<?php

class Paginar{
var $vars = '';
var $menu;
var $q;
var $estilo = '<b>[num]</b>';
var $separador = ' - ';
var $dir = '';
var $data;
var $clas = '';
var $max = '';
var $numrows = 0;

var $preConsulta = ' SELECT * ';
var $postConsulta = '';
var $flechas = array('der'=>'>', 'dder'=>'>>', 'izq'=>'<', 'iizq'=>'<<');

function setVars($vars){
$this->vars = ereg_replace('pag=[0-9]&','',$vars);
}

function menu($cons,$cada,$p=1, $totalResul = ''){
$p = ($p?$p:1);
$this->q = new Query();
if(!$totalResul){
$this->q->ejecutar($cons);
$totalResul = $this->q->numrows;
}

$totalPag = ceil($totalResul/$cada);

if($totalPag){

$cons .= ' LIMIT '.($cada * ($p-1)).' , '.$cada;

//echo $cons;
$this->q->data = array();
$this->q->ejecutar($cons);
$this->data = $this->q->data;
$this->numrows = $this->q->numrows;

$this->q = false;

if(!is_numeric($this->max) || $this->max<=0){
$this->max = $totalPag;
$d=1;
}else{
$d=floor($p/$this->max)*$this->max;
}

if($p!=1){
$this->menu .= '<a class="'.$this->clas.'" href="'.$this->dir.'?pag=1'.$this->vars.'" '.
$this->class.'>'.$this->flechas['iizq'].'</a> ';
$this->menu .= '<a class="'.$this->clas.'" href="'.$this->dir.'?pag='.($p-1).$this->vars.'" '.
$this->class.'>'.$this->flechas['izq'].'</a> ';
}

if($d>1) $this->menu .= $this->separador.'<a class="'.$this->clas.'" href="'.$this->dir.'?pag='.($d-1).$this->vars.'" '.$this->class.'>...</a>';

for($c=1;$d<=$totalPag && $c<=$this->max;$d++,$c++){
if($d){
if($d>1) $this->menu .= $this->separador;

if($d == $p)
$this->menu .= str_replace('num', $d, $this->estilo);
else
$this->menu .= '<a class="'.$this->clas.'" href="'.$this->dir.'?pag='.$d.$this->vars.'" '.$this->class.'>'.$d.'</a>';
}
}

if( ($p < 10 && ($totalPag>$d-1) ) || $totalPag>$d) $this->menu .= $this->separador.'<a class="'.$this->clas.'" href="'.$this->dir.'?pag='.$d.$this->vars.'" '.$this->class.'>...</a>';

if($p!=$totalPag){
$this->menu .= ' <a class="'.$this->clas.'" href="'.$this->dir.'?pag='.($p+1).$this->vars.'" '.
$this->class.'>'.$this->flechas['der'].'</a> ';
$this->menu .= '<a class="'.$this->clas.'" href="'.$this->dir.'?pag='.$totalPag.$this->vars.'" '.
$this->class.'>'.$this->flechas['dder'].'</a> ';
}
}
}


}
?>