Foros del Web » Programando para Internet » PHP »

paginacion no me sale

Estas en el tema de paginacion no me sale en el foro de PHP en Foros del Web. en este codigo de paginacion solo no me sale los vinculos de paginacion __________________________________________________ ______ if(($num_pag - 1) > 0) { echo "<a href='paginacio3.php?pagina=".($num_pag-1)."'>Anterior</a>"; } ...
  #1 (permalink)  
Antiguo 26/11/2011, 23:07
 
Fecha de Ingreso: noviembre-2011
Mensajes: 3
Antigüedad: 12 años, 5 meses
Puntos: 0
paginacion no me sale

en este codigo de paginacion solo no me sale los vinculos de paginacion
__________________________________________________ ______

if(($num_pag - 1) > 0)
{
echo "<a href='paginacio3.php?pagina=".($num_pag-1)."'>Anterior</a>";
}

/* Luego, mediante un ciclo de tipo for que dura mientras la variable i sea menor al número total de páginas, se van listando, con números, todas las páginas disponibles con sus respectivos vínculos. También se desplega la página actual, sin vincular. */

for ($i=1; $i<=$total_paginas; $i++)
{
if ($num_pag == $i)
{
echo "<b><p class='style1>Página ".$num_pag."</b> ";
}
else
{
echo "<a href='paginacio3.php?pagina=$i'>$i</a> ";
}
}

/* Y finalmente, se pregunta mediante un if si el número de la página actual más 1 es menor o igual al total de páginas. Si es así se presenta un vínculo para la página siguiente, enviando el parámetro correspondiente que se recoje mediante GET */

if(($num_pag + 1)<= $total_paginas)
{
echo " <a href='paginacio3.php?pagina=".($num_pag+1)."'>Sigu iente</a>";
}
echo "</center>";

?>

esto es todo el codigo

__________________________________________________ _______-


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>

<body>

<?php

$cant_reg = 5;
$num_pag = $_GET['pagina'];



if (!$num_pag)
{
$comienzo = 0;
$num_pag = 1;
}

{
$comienzo = ($num_pag - 1 ) * $cant_reg;
}
$conexion=mysql_connect("localhost", "root", "mysql");
mysql_select_db("fashionstore", $conexion);

/* Ahora, en una variable $resultado, almacenamos la respuesta de una consulta donde estamos contabilizando cuantos usuarios hay en la tabla, para esto usamos la sentencia COUNT en la consulta y le decimos que la ejecute sobre la tabla usuario */

$resultado = mysql_query("SELECT COUNT(*) FROM articulo");

/* En la variable $total_registros almacenamos el resultado de la consulta anterior, o sea, cuantos usuarios hay en la BD */

$total_registros = mysql_num_rows($resultado);

/* Luego de almacenar, reutilizamos la variable $resultado, y ahora hacemos una consulta nueva en la BD, esta vez seleccionando los usuarios que existan en la tabla, ordenándolos de manera ascendente según el username con la sentencia ORDER BY y limitando la consulta a que rescate los registros que están entre el valor indicado por $comienzo (rescata desde el valor siguiente), y que desde ahí rescate tantos registros como indicados por la variable $cant_reg, o sea, 10.

Recordemos que la variable $comienzo la vamos moviendo según el número de página donde nos encontremos, por lo tanto la primera vez rescataremos los registros del 1 al 10, luego del 11 al 20, del 21 al 30 y así sucesivamente. */


$resultado = mysql_query("SELECT * FROM articulo ORDER BY nomarticulo LIMIT $comienzo, $cant_reg");

/* Luego en la variable $total_paginas almacenamos el número total de páginas que se generarán a partir de esta paginación. Este número lo obtenemos a partir de la división entre el número total de registros (almacenado en la variable $total_registros) y la cantidad de registros por página (almacenado en la variable $cant_reg, equivalente a 10). Esta división la redondeamos utilizando ceil. PHP, como muchos lenguajes de programación, tienen funciones para redondear las divisiones que pudieran darnos resultados en números "decimales" o float, computacionalmente hablando. Estas funciones son floor y ceil. Floor redondea hacia abajo (Si el resultado fuese 2,4 redondea a 2) y Ceil hacia arriba (Si el resultado fuese 2,4 redondea a 3). */

$total_paginas = ceil($total_registros / $cant_reg);

/* Ya hemos rescatado los resultados que desplegaremos en la página, así que ahora mediante código HTML creamos una tabla. Este paso es opcional, pueden desplegar los datos de la forma que estimen conveniente. Así que solo tómenlo como referencia. Primero creamos la parte fija de la tabla, que es donde van los títulos de cada campo que mostraremos. */

echo "<table width='auto' border='1' align='center' bgcolor='#006600'>
<tr>
<td bgcolor='#000000′ width='200′><div align='center'>nomarticulo</div></td>
<td bgcolor='#000000′ width='200′><div align='center'>descripcion</div></td>
<td bgcolor='#000000′ width='100′><div align='center'>precio</div></td>
<td bgcolor='#000000′ width='100′><div align='center'>stock</div></td>
</tr>";

/* Ahora, hacemos un ciclo de tipo while, y como condición de duración ponemos que es mientras en la variable $row se vaya almacenando una fila de los resultados */
while($row=mysql_fetch_array($resultado))
{

/* Ahora en las variables $username, $password, $nombre y $correo almacenamos los datos que vamos extrayendo de la BD */

$nom=$row["nomarticulo"];
$des=$row["descripcion"];
$pe=$row["precio"];
$sto=$row["stock"];

/* Luego, con código HTML y PHP vamos desplegando celdas y mostrando los resultados de esas variables */

echo "<tr>";
echo "<td width='200′><div align='center'>$nom</div></td>";
echo "<td width='200′><div align='center'>$des</div></td>";
echo "<td width='100′><div align='center'>$pe</div></td>";
echo "<td width='100′><div align='center'>$sto</div></td>";
echo "</tr>";
}

/* Cerramos la tabla y centramos el parrafo */

echo "</table><center><br>";

/* El siguiente código es para mostrar, después de desplegar los resultados actuales, vínculos para páginas anteriores, siguientes y mostrar la página actual. Primero, se pregunta si la página actual menos 1 es mayor a cero, esto significa que no es la primera vez que listamos y por ende se despliega el vínculo para volver a páginas anteriores, enviando como parámetro el número de página menos 1 para que se inicialicen las variables más arriba. */


/* El siguiente código es para mostrar, después de desplegar los resultados actuales, vínculos para páginas anteriores, siguientes y mostrar la página actual. Primero, se pregunta si la página actual menos 1 es mayor a cero, esto significa que no es la primera vez que listamos y por ende se despliega el vínculo para volver a páginas anteriores, enviando como parámetro el número de página menos 1 para que se inicialicen las variables más arriba. */

if(($num_pag - 1) > 0)
{
echo "<a href='paginacio3.php?pagina=".($num_pag-1)."'>Anterior</a>";
}

/* Luego, mediante un ciclo de tipo for que dura mientras la variable i sea menor al número total de páginas, se van listando, con números, todas las páginas disponibles con sus respectivos vínculos. También se desplega la página actual, sin vincular. */

for ($i=1; $i<=$total_paginas; $i++)
{
if ($num_pag == $i)
{
echo "<b><p class='style1>Página ".$num_pag."</b> ";
}
else
{
echo "<a href='paginacio3.php?pagina=$i'>$i</a> ";
}
}

/* Y finalmente, se pregunta mediante un if si el número de la página actual más 1 es menor o igual al total de páginas. Si es así se presenta un vínculo para la página siguiente, enviando el parámetro correspondiente que se recoje mediante GET */

if(($num_pag + 1)<= $total_paginas)
{
echo " <a href='paginacio3.php?pagina=".($num_pag+1)."'>Sigu iente</a>";
}
echo "</center>";

?>
  #2 (permalink)  
Antiguo 08/12/2011, 19:56
 
Fecha de Ingreso: julio-2010
Mensajes: 393
Antigüedad: 13 años, 9 meses
Puntos: 67
Respuesta: paginacion no me sale

Por qué no pruebas con está clase paginación php, pruebala y me cuentas.
__________________
Páginas web de alta calidad y hechas a la medida.

Etiquetas: html, mysql, paginacion, registro, sql, tabla, variables, usuarios
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 11:33.