Foros del Web » Programando para Internet » PHP »

compartir mi paginacion

Estas en el tema de compartir mi paginacion en el foro de PHP en Foros del Web. Estimado Amigos, He estado jugando un poco con algunas paginaciones y he sacado esta de entre varias versiones. Tiene poco codigo y funciona muy bien, ...
  #1 (permalink)  
Antiguo 26/08/2009, 22:57
 
Fecha de Ingreso: diciembre-2008
Mensajes: 454
Antigüedad: 15 años, 5 meses
Puntos: 2
compartir mi paginacion

Estimado Amigos,

He estado jugando un poco con algunas paginaciones y he sacado esta de entre varias versiones. Tiene poco codigo y funciona muy bien, solo ponganle ajustes css y se les verá muy pero muy bien.

Espero les sirva

Código PHP:
$conn mysql_connect("localhost""usuario""password") or die(mysql_error());
mysql_select_db("bd"$conn) or die(mysql_error());

// limito la busqueda
$limit 10;

//examino la página a mostrar y el inicio del registro a mostrar
$pagina $_GET['p'];
if (!
$pagina) {
    
$inicio 0;
    
$pagina=1;
}
else {
    
$inicio = ($pagina 1) * $limit;
}


//muestro el número total de campos que hay en la tabla con esa búsqueda
$ssql "SELECT * FROM tabla ";
$rs mysql_query($ssql);
$num_total_registros mysql_num_rows($rs);
//calculo el total de páginas
$total_paginas ceil($num_total_registros $limit);
//pongo el número de registros total, el tamaño de página y la página que se muestra
echo "Número de registros encontrados: " $num_total_registros "<br>Mostrando la página: " $pagina "/" $total_paginas "<br><br>";


//realizamos la busqueda y limitamos la cantidad a mostrar
$sql2 "SELECT * FROM tabla ORDER BY id LIMIT " .$inicio"," .$limit"";
$query2 mysql_query($sql2);
while (
$rows mysql_fetch_array($query2)) {
echo 
''.$rows['titulo']. '<br> '.$rows['descripcion'].'<br><br>';
}
echo 
'<br>';


// aqui empieza la paginacion

// restamos en uno el $id
$idrest $pagina-1;

// aumentamos en uno el $id
$idadd $pagina+1;

// definimos la cantidad de paginaciones a mostrar

// definimos la url previous
        
if ($pagina == 1) { 
        echo 
'&lt;Previous ';
        } else {
        echo 
'<a href="index.php?p='.$idrest.'">&lt;Previous</a> ';
        }

// definimos la cantidad de registros definidos por rango
//rango
$rango 8;
//lo definimos
$rangoizq max(1,$pagina-(($rango-1)/2));
$rangoder min($total_paginas$pagina+(($rango-1)/2));
if ((
$rango $rangoizq) < ($rango 1)) {
    if (
$rangoizq == 1) {
        
$rangoder min($rangoizq + ($rango-1), $total_paginas);
        } else {
        
$rangoizq max($rangoder - ($rango -1), 0);
        }
    }

        
//defino el next
        
if ($rangoizq 1) {
            echo 
'...';
        } else {
            echo 
'&nbsp;&nbsp;';
        }
        for (
$i 1$i <= $total_paginas$i++) {
            if (
$i == $pagina) {
                echo 
$i;
            } else {
                if (
$rangoizq <= $i && $i <= $rangoder) {
                    echo 
' [<a href="index.php?p='.$i.'">' .$i'</a>] ';
                }
            }
            }
            if (
$rangoder $total_paginas) {
                echo 
'...';
            } else {
                echo 
'&nbsp;&nbsp;';
            }
    if ((
$num_total_registros - ($limit $pagina)) > 0) {
        echo 
' <a href="index.php?p='.$idadd.'">Next &gt;</a>';
    } else {
        echo 
' Next &gt;';
    } 
Saludos,
  #2 (permalink)  
Antiguo 27/08/2009, 09:46
 
Fecha de Ingreso: abril-2003
Ubicación: Mexico
Mensajes: 604
Antigüedad: 21 años
Puntos: 23
Respuesta: compartir mi paginacion

buenas!!

muchas gracias por el aporte, esta sencillo pero a mi me marca error en la linea 32
que es cuando consulta a la base

Código:
29  //realizamos la busqueda y limitamos la cantidad a mostrar
30  $sql2 = "SELECT * FROM archivo ORDER BY id LIMIT " .$inicio. "," .$limit. "";
31  $query2 = mysql_query($sql2);
32  while ($rows = mysql_fetch_array($query2)) {
33  echo ''.$rows['nombre']. '<br> '.$rows['seccion'].'<br><br>';
34  }
35  echo '<br>';
alguna idea de porque??

un saludo!!
__________________
¡El Respeto al Derecho Ajeno Es la Paz!
  #3 (permalink)  
Antiguo 27/08/2009, 09:59
 
Fecha de Ingreso: octubre-2008
Mensajes: 365
Antigüedad: 15 años, 6 meses
Puntos: 12
Respuesta: compartir mi paginacion

pega el error que te genera

Última edición por cosmo_; 27/08/2009 a las 10:08
  #4 (permalink)  
Antiguo 27/08/2009, 10:01
 
Fecha de Ingreso: abril-2003
Ubicación: Mexico
Mensajes: 604
Antigüedad: 21 años
Puntos: 23
Respuesta: compartir mi paginacion

buenas!!


este error:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\www\giina\sireg\jg\paginacion.php on line 32

que el argumento no es valido!!

un saludo!!
__________________
¡El Respeto al Derecho Ajeno Es la Paz!
  #5 (permalink)  
Antiguo 27/08/2009, 12:52
 
Fecha de Ingreso: octubre-2008
Mensajes: 365
Antigüedad: 15 años, 6 meses
Puntos: 12
Respuesta: compartir mi paginacion

Entonces es tu consulta a la base de datos; seria bueno que verifiques imprimiendo la variable en la que almacenas tu consulta y verifica que este funcione en phpMyAdmin o algún otro cliente de MYSQL; quedaría así:

29 //realizamos la busqueda y limitamos la cantidad a mostrar
30 $sql2 = "SELECT * FROM archivo ORDER BY id LIMIT " .$inicio. "," .$limit. "";
31 echo $sql2; exit();
32 $query2 = mysql_query($sql2);


s4lu2
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 02:58.