Problema con paginacion PHP/MySQL

Iniciado por camdark, 13 Diciembre 2006, 05:44 AM

0 Miembros y 1 Visitante están viendo este tema.

camdark

Hola amigos,

He creado este sencillo codigo que pagina resultados, pero aun no he podido hacer para que la primera pagina lleve un link de "pagina=1" hasta el momento solo puedo hacerlo asi "pagina=0" y asi sucesivamente con las otras paginas, he buscado otros codigos de paginacion y todos tenemos el mismo problema :(, aca va mi codigo:

<?php
//conexion mysql
@mysql_connect("localhost""root""") or die ("Imposible conectar a la BD.");
@
mysql_select_db("paginacion") or die ("Imposible seleccionar la BD.");

//consultas a la base de datos
if (!isset($_GET['pagina'])) {$pagina 0;} else {$pagina $_GET['pagina'];}
$cantidad 5;
$inicial $pagina $cantidad;

$q1 mysql_query("SELECT id,titulo FROM articulos LIMIT $inicial,$cantidad");
$q3 mysql_query("SELECT id FROM articulos");
$q2 mysql_num_rows($q3);
$total ceil($q2/$cantidad);

//imprimimos los registros
while ($var mysql_fetch_array($q1)) {echo "$var[id] | $var[titulo]<br>";}

//enlaces a las paginas
for ($i 1$i <= $total$i++) {$i2 $i 1; if ($i2 == $pagina) {echo "$i";} else {echo "<a href='paginacion.php?pagina=$i2'>$i</a> ";}}
?>


Espero que me puedan ayudar amigos, saludos.

// Nota del moderador: USAR LAS ETIQUETAS DE CÓDIGO!

Rk_PetIT

Este es mi codigo espero que te sirva...

<?php
//Limito la busqueda 
$TAMANO_PAGINA 10

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

else { 
    
$inicio = ($pagina 1) * $TAMANO_PAGINA

//miro a ver el número total de campos que hay en la tabla con esa búsqueda 
$ssql "select * from pais " $criterio
$rs mysql_query($ssql,$conn); 
$num_total_registros mysql_num_rows($rs); 
//calculo el total de páginas 
$total_paginas ceil($num_total_registros $TAMANO_PAGINA); 

//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>"
echo 
"Se muestran páginas de " $TAMANO_PAGINA " registros cada una<br>"
echo 
"Mostrando la página " $pagina " de " $total_paginas "<p>"
//construyo la sentencia SQL 
$ssql "select * from pais " $criterio " limit " $inicio "," $TAMANO_PAGINA
$rs mysql_query($ssql); 
while (
$fila mysql_fetch_object($rs)){ 
    echo 
$fila->nombre_pais "<br>"

//cerramos el conjunto de resultado y la conexión con la base de datos 
mysql_free_result($rs); 
mysql_close($conn); 

//muestro los distintos índices de las páginas, si es que hay varias páginas 
if ($total_paginas 1){ 
    for (
$i=1;$i<=$total_paginas;$i++){ 
       if (
$pagina == $i
          
//si muestro el índice de la página actual, no coloco enlace 
          
echo $pagina " "
       else 
          
//si el índice no corresponde con la página mostrada actualmente, coloco el enlace para ir a esa página 
          
echo "<a href='index.php?pagina=" $i "&criterio=" $txt_criterio "'>" $i "</a> "
    } 

?>



Ahora.. yo ele eh agregado un pequeño buscador..
te dejo el codigo por cualquier cosa....

<form action="index.php" method="get">
Criterio de búsqueda:
<input type="text" name="criterio" size="22" maxlength="150">
<input type="submit" value="Buscar">
</form>
<?php
//inicializo el criterio y recibo cualquier cadena que se desee buscar 
$criterio ""
if (
$_GET["criterio"]!=""){ 
    
$txt_criterio $_GET["criterio"]; 
    
$criterio " where nombre_pais like '%" $txt_criterio "%'"

?>



Espero que te sirva...

Saludos.... ;)

se piensa una cosa y se dice otra...