Foros del Web » Programando para Internet » PHP »

ayuda con paginacion

Estas en el tema de ayuda con paginacion en el foro de PHP en Foros del Web. hola queria saber si pueden mirar el codigo sobre una paginacion lo que necesito es agregar un boton siguiente y anterior y limitar la muestra ...
  #1 (permalink)  
Antiguo 31/08/2009, 21:41
 
Fecha de Ingreso: diciembre-2008
Mensajes: 122
Antigüedad: 15 años, 5 meses
Puntos: 1
De acuerdo ayuda con paginacion

hola queria saber si pueden mirar el codigo sobre una paginacion lo que necesito es agregar un boton siguiente y anterior y limitar la muestra de numeros no mas de 20 pag.

Código PHP:
 <?
    
require("conectar.php");
    
$sql=mysql_query("select * from datos where rubro like '$rubro' and 
                      provincia  like '$provincia'  and
                      ciudad like '$ciudad' and 
                      nombre like '$nombre' order by rubro,nombre"
);        
    
if(isset(
$_POST[rubro])){
        
$rubro=$_POST[rubro];
        
$ciudad=$_POST[ciudad];
        
$provincia=$_POST[provincia];
        
$nombre=$_POST[nombre];
        }
elseif(isset(
$_GET[rubro])){
        
$rubro=$_GET[rubro];
        
$ciudad=$_GET[ciudad];
        
$provincia=$_GET[provincia];
        
$nombre=$_GET[nombre];    
        }
else{
        
$rubro="%";
        
$ciudad="%";
        
$provincia="%";
        
$nombre="%";
     }        
$regxpag=7;
if(isset(
$_GET[totalreg]))
        
$totalreg=$_GET[totalreg];
if(isset(
$_GET[pagina]))
        
$pagina=$_GET[pagina];
else
        
$pagina=1;        
if(isset(
$_GET[desde]))
        
$desde1=$_GET[desde];
else
        
$desde1=0;        
if(!isset(
$_GET[hasta]))
        
$hasta1=$regxpag;
else
    
$hasta1=$_GET[hasta];                            
if(isset(
$_GET[paginas]))
    
$paginas=$_GET[paginas];        
else
{    require(
"conectar.php");
    
$sql=mysql_query("select * from datos where rubro like '$rubro' and 
                      provincia  like '$provincia'  and
                      ciudad like '$ciudad' and 
                      nombre like '$nombre' order by rubro,nombre"
);        
    
$paginas=mysql_num_rows($sql);
    
$totalreg=$paginas;
    
$paginas=ceil($paginas/$regxpag);
}    
$sql=mysql_query("select rubro,nombre,ciudad,provincia,postal,descripcion,pagina,mail,tel,imagen from datos where rubro like '$rubro' and 
                      provincia  like '$provincia'  and
                      ciudad like '$ciudad' and 
                      nombre like '$nombre' order by rubro,nombre limit $desde1,$hasta1"
);    
while(
$articulo=mysql_fetch_array($sql)){
    echo 
"<tr>";
            echo
"<td>".$articulo["rubro"]."</td>";
              echo
"<td>".$articulo["nombre"]."</td>";
              echo
"<td>".$articulo["ciudad"]."<br>".$articulo["provincia"]."<br>(".$articulo["postal"].")</td>";
              echo
"<td>".$articulo["descripcion"]."</td>";
              echo
"<td><a href='mailto:".$articulo["mail"]."'>".$articulo["mail"]."</a><br><a href='http://".$articulo["pagina"]."' target='_blanck'>".$articulo["pagina"]."</a></td>";
              echo
"<td>".$articulo["tel"]."</td>";
              echo
"<td><a href='http://www.empresasdelnorte.com/soporte/".$articulo['imagen']."' target='_blanck'><img src=\"soporte/".$articulo['imagen']."\" width=60 height=50 border='0'></a></td>";
    echo 
"</tr>";
    }        
echo 
"</table>";
$desde1=0;
$hasta1=$regxpag;
if(
$paginas and mysql_num_rows($sql)>0) {
    
$i=0;        
    while(
$i++<=$paginas and $totalreg>=$desde1){
        if(
$pagina==$i)
            echo 
"<font color=\"#FFFF00\"><b>$i</b></font>";
        else                        
            echo 
" <a href=\"$PHP_SELF?pagina=$i&desde=$desde1&hasta=$hasta1&rubro=$rubro&ciudad=$ciudad&nombre=$nombre&provincia=$provincia\">$i</a> ";
        
$desde1=$desde1 $regxpag;
        
//$hasta1=$hasta1+ $regxpag;
    
}

}    
?>
  #2 (permalink)  
Antiguo 31/08/2009, 21:52
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: ayuda con paginacion

Revisa en el foro, hay muchos paginadores contribuidos por los usuarios que puedes usara para adaptar ese código.

Saludos.
  #3 (permalink)  
Antiguo 01/09/2009, 11:31
 
Fecha de Ingreso: abril-2009
Ubicación: Miami
Mensajes: 182
Antigüedad: 15 años
Puntos: 8
Respuesta: ayuda con paginacion

hola .. te paso algo que quizá te pueda servir:

<?php //$num es una variable con el número de página que nos pasa esta misma página cuando pulsamos sobre los links de los nº de página.
//Si $num está vacio significa que es la primera vez que entramos en la página y le asignamos un 0.
$num = $_GET['num'];
IF ($num>0) { $n=$num;} ELSE { $n=0; }

//Contar cuantos registros hay en la tabla deseada
$contador="select id from datos where rubro like '$rubro' and
provincia like '$provincia' and
ciudad like '$ciudad' and
nombre like '$nombre' order by rubro,nombre";//en este caso cuenta los id
$result=mysql_query($contador,$link); //$link es tu cadena de conexión
$quants=mysql_num_rows($result);
//acá cuento todo lo que hay ahí

?>

//en tu select ahora debe ser así:

$cont="select id from datos where rubro like '$rubro' and
provincia like '$provincia' and
ciudad like '$ciudad' and
nombre like '$nombre' order by rubro,nombre LIMIT ".$n.", 20 ";//en este caso limito la cantidad a mostrar, 20 como querías
$result1=mysql_query($cont,$link); //$link es tu cadena de conexión
$quant=mysql_num_rows($result1);

--- tu código

//pinto el paginado
<?php //PAGINACIÓN
echo "<HR width=500 align=center><TABLE BORDER=0 ALIGN=center width=550><TR>";

//Muestra por pantalla el número total de *** encontrados
echo "<TD ALIGN='left' class=parrabold>Total:&nbsp;".$quants."</TD>";

echo"<TD align=right>";
echo "Páginas: ";

//Mientras $i no sea igual o superior al total encontrado se incrementa de 15 en 15. $i representa el identificador en la Tabla del número de registro que se buscará en el siguiente Select.

//$a es el número de págians encontrado.

FOR ($i=0; $i< $quants; $i=$i+10)
{
$a=$a+1; //Incrementamos el número de página

//Si $n (número de registro donde empieza la busqueda actual actual) es igual a $i se marca en negrita para resaltar la página en la que estamos.
IF ($n==$i)
{
//Ponemos el link a la misma página peró con un número de registro cada vez diferente
echo "<A HREF='esta_misma_pagina.php?num=".$i."'>[<B>".$a."</B>]</A>";
}
ELSE
{
echo "<A HREF='esta_misma_pagina.php?num=".$i."'>'[".$a."]</A>";
}
}
echo
  #4 (permalink)  
Antiguo 01/09/2009, 20:30
 
Fecha de Ingreso: diciembre-2008
Mensajes: 122
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: ayuda con paginacion

yo necesito mantener elñ codigo como esta agregando lo ya pedido arriba...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:14.