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
![apachar ojo](http://static.forosdelweb.com/fdwtheme/images/smilies/wink.png)
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> ";
//--------
$pagi_siguiente_num=$pagi_num_pag+1;
$pagi_siguiente="<a href='?pag=".$pagi_siguiente_num."'>Siguiente</a> ";
//--------
for ($pagi_num_=1; $pagi_num_ <= $pagi_total_pag; $pagi_num_++) {
if ($pagi_num_ == $pagi_num_pag) {
$pagi_num.=" <strong>".$pagi_num_."</strong> ";
}else {
$pagi_num.="<a href='?pag=".$pagi_num_."'>".$pagi_num_."</a> ";
}
}
//-------------------------------------------------------------------------
//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 ";
$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>";
?>