Por favor,Alguien sabe como es para poner los numeros: <1 2 2...> debajo del foro

RUBIA
24 de Mayo del 2005
Por favor,Alguien sabe como es para poner los numeros: <1 2 3 4 ...> debajo del foro cuando pase de los 10 mensajes???

Por favor! ayuda!!

chapu
24 de Mayo del 2005
Yo lo resolvi a mano, es decir haciendo la paginacion dividiendo el total por X cantidad por pagina, en cada numero paso el id del primero de esa pagina por ejemplo. .. proba es facil...

Rubia
24 de Mayo del 2005
¿Cómo? No se cómo es! me lo podrías poner??


Gracias

chapu
24 de Mayo del 2005
Mira.. el codigo no lo tengo..
siempre en una misma pagina...
primero calcula el total de registros.
Despues dividi por X registros por paginas.
Segun la pagina que toque, vas salteando cuales no mostrar con un iterador que va incrementado

no es una forma optima ya que siempre buscas TODOS los registros y mostras solo los que estan en ese intervalo. Ahora no se me ocurre una forma mas optima en rendimiento.. tendria que pensarlo mejor

al final para poner los numeros de pagina simplemente hace un "for" desde 1 hasta la cantidad de paginas que devolvio la division anterior. poniendo en cada uno un link al primero ej: 10 registros por pagina, pone en la pagina 3 un link al 31

no es dificil.. pensalo

Zelda Predator
24 de Mayo del 2005
Hola,

Te pongo un script de paginación de resultados con consulta a una db Mysql, a ver si es eso lo que necesitas:

<?
//Este script se llama "paginar.php" y debe ser incluido en una página
//llamada "listado.php" (puedes cambiar el nombre de las páginas, pero
//recuerda cambiar "listado.php" por el nombre que decidas también en
//este código.
//o sea, que debes crear dos páginas PHP, una con este código y otra
//que en el lugar donde quieras que aparezca la tabla incluya la
//instrucción "include("paginar.php");"

//En el ejemplo supongo que conectas a una db MySQL que tiene una tabla
//con cuatro campos llamados "CAMPO1", "CAMPO2", "CAMPO3", "CAMPO4"
//que quieres leer y mostrar en forma de tabla,
//paginando los resultados de 20 en 20.

$pg=$_GET['pg'];
//conexion a la base de datos
$host="localhost";
$user="usuario";
$pass="password";
$db="base_de_datos";
$tabla="tabla";



//conectamos con la base de datos

$con=mysql_connect($host,$user,$pass);
mysql_select_db($db,$con);

//establecemos condiciones de paginacion

if (!isset($_GET['pg'])){
$pg = 0;
}
$cantidad = 20; //Aqui es donde indicas el número de registros por página
$inicial = $pg * $cantidad;

//realizamos la busqueda en la base de datos
//en este supuesto consulto todos los datos de la tabla, pero
//puedes acotar los resultados con where.
$pegar = "SELECT * FROM $tabla LIMIT $inicial,$cantidad"; //Aqui es donde puedes acotar la consulta con where
$cad = mysql_db_query($db,$pegar) or die (mysql_error());

//calculamos las paginas a mostrar
//como no he acotado la consulta con where, simplemente
//cuento todos los registros almacenados.
$contar = "SELECT * FROM $tabla"; //cuenta todos los registros, si has acotado con where, recuerda ponerlo también aqui
$contarok = mysql_db_query($db,$contar);
$total_records = mysql_num_rows($contarok);
$pages = intval($total_records / $cantidad);

//imprimiendo los resultados, primero los encabezaddos de las columnas de la tabla
echo "<table width=100% align=center border=0 cellspacing=2 cellpadding=2 bgcolor=#FFFFFF>";
echo "<tr bgcolor=#666666>";
echo "<td>Titulo_Columna1</td>";
echo "<td>Titulo_Columna2</td>";
echo "<td>Titulo_Columna3</td>";
echo "<td>Titulo_Columna4</td>";


//imprimiendo los resultados, ahora los datos en filas
while ($array = mysql_fetch_array($cad))
{
echo "<tr bgcolor=#EBF0F9>";
echo "<td>",$array[CAMPO1],"</td>";
echo "<td>",$array[CAMPO2],"</td>";
echo "<td>",$array[CAMPO3],"</td>";
echo "<td>",$array[CAMPO4],"</td>";

} //fin imprimir resultados
echo "</table>";
// Cerramos la conexión a la base
$con=mysql_close($con);

//creando los enlaces de paginacion de resultados (los numeritos 1,2,3,4... y Anterior/Siguiente)

echo "<center><p>";
if ($pg <>0)
{
$url = $pg - 1;
echo "<font><a href='listado.php?pg=".$url."'>&laquo; Anterior</a>&nbsp;</font>";
}
else {
echo " ";
}
for ($i = 0; $i<($pages + 1); $i++) {
if ($i == $pg) {
echo "<font><b>&nbsp;$i&nbsp;</b></font>";
}
else {
echo "<font><a href='listado.php?pg=".$i."'>".$i."</a>&nbsp;</font>";
}
}
if ($pg < $pages) {
$url = $pg + 1;
echo "<font><a href='listado.php?pg=".$url."'>Següent &raquo;</a></font>";
}
else {
echo " ";
}
echo "</p></center>";
?>