Ver Mensaje Individual
  #2 (permalink)  
Antiguo 24/10/2014, 11:11
dgrvedado
 
Fecha de Ingreso: diciembre-2010
Ubicación: Asunción
Mensajes: 41
Antigüedad: 13 años, 4 meses
Puntos: 1
Respuesta: Paginador php inteligente

Este codigo use hace algun tiempo....

Código PHP:
<?php
    
if(isset($_GET["page"])) {
    
$page$_GET["page"];
    } else {
        
//Si no digo q es la 1ra pagina
        
$page=1;
    }
    
$sql_cat9 "SELECT * FROM marcas WHERE cat_producto = ".$_GET["id"];
    
$que_cat9 mysql_query($sql_cat9);
    
$num_cat9 mysql_num_rows($que_cat9);
    
//------------
    //PAGINACION
    //------------
    //Registros por pagina
    
$per_page 9;
    
//Calculo de la ultima pagina
    
$lastpageceil($num_cat9 $per_page);
    
//Se compruebo que el valor de la pagina sea correcto y si es la ultima pagina
    
$page=(int)$page;
    if(
$page $lastpage) {
        
$page$lastpage;
    } 
    if(
$page 1) {
        
$page=1;
    }

    
//Sentencia LIMIT para añadir a la consulta definitiva
    
$limit" LIMIT ".($page -1)*$per_page.",".$per_page;
    
//Consulta final
    
$sql .= $limit;
    
$que mysql_query($sql);

    if(!
$que) {
        
//SI FALLA LA CONSULTA MUESTRO ERROR
        
die('Error de Consulta:'.mysql_error());
    } else {
    
    while (
$row_cat9 mysql_fetch_assoc($que_cat9)) {
        
$id_cat9[] = $row_cat9["id"];
    }
    
    for (
$a=0;$a<$num_cat9;$a++) {
        
$sql_prod9 "SELECT * FROM productos WHERE marca = ".$id_cat9[$a]." ORDER BY id DESC";
        
//echo $sql_prod;
        
$que_prod9 mysql_query($sql_prod9);
        while (
$row_prod9 mysql_fetch_assoc($que_prod9)) { ?>
        <div class="block">
                <div class="wrapimg"><img width="184" height="139" alt="" src="images/<?=$row_prod9["img_frontal"]?>"></div>
                <h3><a href="producto.php?prod=<?=$row_prod9["id"]?>"><?=$row_prod9["nombre"]?></a></h3>
                <div class="btns-holder">
                    <a class="detail" href="producto.php?prod=<?=$row_prod9["id"]?>">Detalles</a>
                </div>
        </div>
    <?php ?>
            
<?php ?>
</div> 
<?php
//Mostramos bloque de paginación
if($num_cat9 != 0){
    
$nextpage$page +1;
    
$prevpage$page -1;
?>
<div align="center">
<?php
//Si es la primera pagina deshabilito el boton de previous, 
//muestro el 1 como activo y muestro el resto de páginas
    
if ($page == 1){
?>
        &laquo; Anterior 1
<?php
    
for($i$page+1$i<= $lastpage $i++){?>
        <a href="catproducto.php?page=<?php echo $i;?>"><?php echo $i;?></a>
<?php }
//Y si la ultima página es mayor que la actual muestro el boton next o lo deshabilito
    
if($lastpage >$page ){?>
        <a href="catproducto.php?page=<?php echo $nextpage;?>">Siguiente &raquo;</a>
<?php } else {?>
        Siguiente &raquo;
<?php }
    } else {
//En cambio si no estamos en la pagina 1, habilito el boton de previus y muestro las demas
?>
        <a href="catproducto.php?page=<?php echo $prevpage;?>">&laquo; Anterior</a>
<?php
    
for($i1$i<= $lastpage $i++){
    
//Compruebo si es la página activa o no
        
if($page == $i){
?>
        <?php echo $i;?>
<?php 
} else { ?>
        <a href="catproducto.php?page=<?php echo $i;?>" ><?php echo $i;?></a>
<?php }
    }
//Y si no es la ultima pagina activo el boton next
    
if($lastpage >$page ){
?>
        <a href="catproducto.php?page=<?php echo $nextpage;?>">Siguiente &raquo;</a>
<?php } else { ?>
        Siguiente &raquo;
<?php }
    }    
?>
</div>
<?php }
?>