Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/12/2004, 18:02
Avatar de Nemutagk
Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
problema con paginador

Hola!!

tengo un problema con un paginador que he hecho, antes que nada, espero no molestar a nadie, especialmente al jpinedo, pues tome como referencia su paginador para poder hacer el mio, con esto, no quiero hacer competencia ni nada por el estilo, simplemente lo he hecho como aprendisaje, es simple, pero me costo trabajo

el problema que tengo es que cuando muesto mi barra de informacion, (lo que en paginator seria $_pagi_info) me muestra informacion incorrecta, por ejemplo, si en la tabla usurios solo existen 2 usuarios deveria de mistral la siguiente informacion con un limite de 20

Mostrando en la pagina actual del 1</STRONG> al 2 de un total de 2

sin embargo me muestra lo siguiente

Mostrando en la pagina actual del 1 al 20 de un total de 2

he hay mi problema, aqui les dejo el codigo de la apliacacion

Código PHP:
<?php
//checho si ya se declaro la sentencia sql
if (empty($pagi_sql)) {
die (
"Error, no se ha declarado la variable \$pagi_sql");
}
//verifico cuantos elemetos mostrar
//si no se especifica, por defecto sera 20
if (empty($pagi_cuantos)) {
$pagi_cuantos=20;
}
//verifico si se especifico mostrar o no errores
//por defecto es true
if (empty($pagi_error)) {
$pagi_error=true;
}
//----------------------------------------------------------------------------
//comensamos el paginador
//primero vemos cuantos registros existen
$pagi_sql_=eregi_replace("select (.*) from""SELECT COUNT(*) FROM"$pagi_sql);
$pagi_query=mysql_query($pagi_sql_);
//si esta en true los errores los imprimimos
if ($pagi_query==false && $pagi_error==true) {
die(
"Error en el conteo de registros, MySQL a dicho <br> <strong>".mysql_error()."</strong>");
}
$pagi_total_reg mysql_result($pagi_query,0,0);//total de registros
//ahora calculamos cuantas paginas se necesitaran para mostrar los resultados
$pagi_total_pag=ceil($pagi_total_reg/$pagi_cuantos);
//------------------------------------------------------------------------------
//ahora, verificamos en que pagina se encuentra el script
if (isset($_GET["pag"])) {
$pagi_num_pag=$_GET["pag"];
}else {
$pagi_num_pag=1;
}
//ahora, creamos el query que servira para mostrar los resultados
$pagi_inicio = ($pagi_num_pag-1) * $pagi_cuantos;
$pagi_result_sql=$pagi_sql.=" LIMIT $pagi_inicio,$pagi_cuantos";
$pagi_result=mysql_query($pagi_result_sql);
if (
$pagi_result == false && $pagi_error == true) {
die(
"Error en la sentencia final, MySQL a dicho <br> <strong>".mysql_error()."</strong>");
}
//----------------------------------------------------------------------------
//creamos los links para mostrar
$pagi_atras_num=$pagi_num_pag-1;
$pagi_atras="<a href='?pag=".$pagi_atras_num."'>Anterior</a>&nbsp;";
//--------
$pagi_siguiente_num=$pagi_num_pag+1;
$pagi_siguiente="<a href='?pag=".$pagi_siguiente_num."'>Siguiente</a>&nbsp;";
//--------
for ($pagi_num_=1$pagi_num_ <= $pagi_total_pag$pagi_num_++) {
if (
$pagi_num_ == $pagi_num_pag) {
$pagi_num.="&nbsp;<strong>".$pagi_num_."</strong>&nbsp;";
}else {
$pagi_num.="<a href='?pag=".$pagi_num_."'>".$pagi_num_."</a>&nbsp;";
}
}
//-------------------------------------------------------------------------
//organisamos los links dependiendo de que pagina estamos
if ($pagi_num_pag == 1) {
$_base_=1;
}else {
$_base_=2;
}
if (
$pagi_num_pag != $pagi_total_reg) {
switch (
$_base_) {
 case 
1:
 
$pagi_navegacion="Anterior&nbsp;";
 
$pagi_navegacion.=$pagi_num;
 
$pagi_navegacion.=$pagi_siguiente;
 break;
 case 
2:
 
$pagi_navegacion=$pagi_atras;
 
$pagi_navegacion.=$pagi_num;
 
$pagi_navegacion.=$pagi_siguiente;
 break;
}
}else{
 
$pagi_navegacion=$pagi_atras;
 
$pagi_navegacion.=$pagi_num;
 
$pagi_navegacion.="Siguiente";
}
//----------------------------------------------------------------
//creo una barra de informacion sobre los resultados mostrados
$pagi_inicio2=$pagi_inicio 1;
$pagi_fin2=$pagi_inicio+$pagi_cuantos;
$pagi_info="Mostrando en la pagina actual del <strong>".$pagi_inicio2."</strong> al <strong>".$pagi_fin2."</strong> de un total de <strong>".$pagi_total_reg."</strong>";
?>
de antemano gracias
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)