Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/02/2005, 19:37
todoalbo
 
Fecha de Ingreso: diciembre-2004
Mensajes: 354
Antigüedad: 19 años, 4 meses
Puntos: 2
Modificar Paginador

Estimados amigos, tengo instalado un paginador, pero al incluirlo en mi libro de visitas, tengo tantas paginas (cerca de 40) que se me agranda demasiado la tabla y se ve feo el diseño del sitio (http://www.todoalbo.cl/2005/elmuro/index.php lo pueden ver)...bueno, resulta que quiera saber si alguien me puede ayudar con el paginador para poder modificarlo y que solo aparezcan 7 u 8 paginas, (vale decir, cuando se este en la 1, salga 2,3,4,5,6... Siguiente >> y que cuando se pase a la dos salga: << Anterior 3,4,5,6,7,8... Siguiente >> o algo parecido), bueno el codigo del paginador es:
Código PHP:
<?php
 
if(empty($_pagi_sql)){
    die(
"<b>Error Paginator : </b>No se ha definido la variable \$_pagi_sql");
 }
 
 if(empty(
$_pagi_cuantos)){

    
$_pagi_cuantos 20;
 }
 
 if(!isset(
$_pagi_mostrar_errores)){

    
$_pagi_mostrar_errores true;
 }

 if(!isset(
$_pagi_conteo_alternativo)){

    
$_pagi_conteo_alternativo false;
 }

 if (empty(
$_GET['_pagi_pg'])){

    
$_pagi_actual 1;
 }else{
        
$_pagi_actual $_GET['_pagi_pg'];
 }

 if(
$_pagi_conteo_alternativo == false){
     
$_pagi_sqlConta eregi_replace("select (.*) from""SELECT COUNT(*) FROM"$_pagi_sql);
     
$_pagi_result2 mysql_query($_pagi_sqlConta);
     if(
$_pagi_result2 == false && $_pagi_mostrar_errores == true){
        die (
" Error en la consulta de conteo de registros: $_pagi_sqlConta. Mysql dijo: <b>".mysql_error()."</b>");
     }
     
$_pagi_totalReg mysql_result($_pagi_result2,0,0);
 }else{
    
$_pagi_result3 mysql_query($_pagi_sql);

     if(
$_pagi_result3 == false && $_pagi_mostrar_errores == true){
        die (
" Error en la consulta de conteo alternativo de registros: $_pagi_sql. Mysql dijo: <b>".mysql_error()."</b>");
     }
    
$_pagi_totalReg mysql_num_rows($_pagi_result3);
 }

 
$_pagi_totalPags ceil($_pagi_totalReg $_pagi_cuantos);

 
$_pagi_enlace $_SERVER['PHP_SELF'];
 
$_pagi_query_string "?";
 
 if(isset(
$_pagi_propagar)){
    
    if(!
is_array($_pagi_propagar)){
        die(
"<b>Error Paginator : </b>La variable \$_pagi_propagar debe ser un array");
    }else{     

        foreach(
$_pagi_propagar as $var){
            
$_pagi_query_string.= $var."=".$GLOBALS[$var]."&";
        }
    }
    
 }else{

     if(isset(
$_GET)){

        
$_pagi_variables $_GET;
        foreach(
$_pagi_variables as $_pagi_clave => $_pagi_valor){
            if(
$_pagi_clave != '_pagi_pg'){
                
$_pagi_query_string .= $_pagi_clave."=".$_pagi_valor."&";
            }
        }
     }
 }

 
$_pagi_enlace .= $_pagi_query_string;
 
 
$_pagi_navegacion '';
 if (
$_pagi_actual != 1){
    
$_pagi_url $_pagi_actual 1
    
$_pagi_navegacion .= "<a href='".$_pagi_enlace."_pagi_pg=".$_pagi_url."'>&laquo; Anterior</a>&nbsp;";
 }

 if(!isset(
$_pagi_nav_num_enlaces)){

    
$_pagi_nav_desde 1;
    
$_pagi_nav_hasta $_pagi_totalPags;
 }else{

    
$_pagi_nav_intervalo ceil($_pagi_nav_num_enlaces/2) - 1;

    
$_pagi_nav_desde $_pagi_actual $_pagi_nav_intervalo;
    
$_pagi_nav_hasta $_pagi_actual $_pagi_nav_intervalo;
    if(
$_pagi_nav_desde 1){
        
$_pagi_nav_hasta -= ($_pagi_nav_desde 1);
        
$_pagi_nav_desde 1;
    }
    if(
$_pagi_nav_hasta $_pagi_totalPags){
        
$_pagi_nav_desde -= ($_pagi_nav_hasta $_pagi_totalPags);
        
$_pagi_nav_hasta $_pagi_totalPags;
        if(
$_pagi_nav_desde 1){
            
$_pagi_nav_desde 1;
        }
    }
 }

 for (
$_pagi_i $_pagi_nav_desde$_pagi_i<=$_pagi_nav_hasta$_pagi_i++){
    if (
$_pagi_i == $_pagi_actual) {
        
$_pagi_navegacion .= "<b>&nbsp;$_pagi_i&nbsp;</b>";
    }else{
        
$_pagi_navegacion .= "<a href='".$_pagi_enlace."_pagi_pg=".$_pagi_i."'>".$_pagi_i."</a>&nbsp;";
    }
 }

 if (
$_pagi_actual $_pagi_totalPags){
    
$_pagi_url $_pagi_actual 1
    
$_pagi_navegacion .= "<a href='".$_pagi_enlace."_pagi_pg=".$_pagi_url."'>Siguiente &raquo;</a>";
 }
 
$_pagi_inicial = ($_pagi_actual-1) * $_pagi_cuantos;
 

 
$_pagi_sqlLim $_pagi_sql." LIMIT $_pagi_inicial,$_pagi_cuantos";
 
$_pagi_result mysql_query($_pagi_sqlLim);

 if(
$_pagi_result == false && $_pagi_mostrar_errores == true){
     die (
"Error en la consulta limitada: $_pagi_sqlLim. Mysql dijo: <b>".mysql_error()."</b>");
 }

 
$_pagi_desde $_pagi_inicial 1;

 
$_pagi_hasta $_pagi_inicial $_pagi_cuantos;
 if(
$_pagi_hasta $_pagi_totalReg){

     
$_pagi_hasta $_pagi_totalReg;
 }
 
 
$_pagi_info "desde el $_pagi_desde hasta el $_pagi_hasta de un total de $_pagi_totalReg";

?>
y el que se usa para ver el paginador en el libro de visitas es:
[PHP]<?php
//Conexión a la base de datos
$con = mysql_connect("$host","$user","$pass") or die (mysql_error());
mysql_select_db("$db",$con) or die (mysql_error());
//Sentencia sql (sin limit)
$_pagi_sql = "SELECT * FROM elmuro ORDER BY id DESC";
//cantidad de resultados por página (opcional, por defecto 20)
$_pagi_cuantos = 10;
//Incluimos el script de paginación. Éste ya ejecuta la consulta automáticamente
include("paginator.php");
//Leemos y escribimos los registros de la página actual
while($row = mysql_fetch_array($_pagi_result))
{
echo '
<table width=480 height="0" border=0 align=center cellpadding=6 cellspacing=6 bgcolor=#CCCCCC>
<tr>
<td width="546" height="107" align=left bgcolor="#666666"><font face="Geneva, Arial, Helvetica, sans-serif" size="2"><b><font color="#FFFFFF">Nombre:&nbsp;</font></b></font><font color="#FFFFFF" size="2" face="Geneva, Arial, Helvetica, sans-serif">'.$row["nombre"].'<br>
<b>E-Mail: </b>'.$row["email"].'<b><br>
Asunto: </b> '.$row["asunto"].'<b><br>
</b> <b>Fecha:</b> '.$row["fecha"].'</font><font color="#FFFFFF" face="Geneva, Arial, Helvetica, sans-serif"><br><br>
<font size="2"><b>Mensaje:</b><br>';
echo nl2br($row["mensaje"]);
echo '<br>
<font size="1"><b>Ip: </b>'.$row["ip"].'</font></font></font></td>
</tr>
</table><br>';
}
//Incluimos la barra de navegación
echo '<table width=480 height="18" border=0 align="center" cellpadding=0 cellspacing=0 bordercolor="#000000" bgcolor="#FFFFFF">
<tr>
<td width="667" height="1" align=center bordercolor="#FF0000" bgcolor="#CCCCCC"><font face="Geneva, Arial, Helvetica, sans-serif" size="2">'.$_pagi_navegacion.'</font></td>
</tr>
</table><br>';
?>PHP]
por favor alguien que me ayude!!
__________________
Pedro Pablo Vivanco D.
Webmaster todoalbo.cl
[email protected]
http://www.todoalbo.cl
"Dios creo el Cielo, Colo-Colo le puso todas sus Estrellas"