Paginacion con Mysql

vic_mx
10 de Noviembre del 2004

$displayorder="ASC";
$num_sign="10";//Cantidad de registros por página



if ($num>0) {
$n=$num;
}
else { $n=0;
}

$res=mysql_query("SELECT * FROM gbook ORDER BY id ".$displayorder." LIMIT ".$n.",".$num_sign);
if($row=mysql_fetch_array($res)){

//Paginación
$anterior=$num-$num_sign;
$siguiente=$num+$num_sign;
echo "<table width='100%' border='0'><tr><td align='left'>";
if($num!=0){
echo "<a href='gbook.php?num=$anterior'>"._ANTERIOR."</a>";
}
echo "</td><td align='right'>";
if($siguiente<$registros){
echo "<a href='gbook.php?num=$siguiente'>"._SIGUIENTE."</a>";
}
echo "</td></tr></table>"


echo _SHOWPAGE;
for($i=0;$i<$registros;$i=$i+$num_sign++){
$a=$a+1;
if($n==$i){
echo "[".$a."] ";
}
else{
echo "<a href='gbook.php?num=".$i."'><b>[".$a."]</b></A> ";
}
}
echo "</td></tr></table>n";

vic_mx
10 de Noviembre del 2004
Con el codigo anterior solo me página hasta el infinito ed decir 1, 2 , 3 4 , 5 .... y asi, yo quiero que me ponga solo has ta 4 y despues que ponga siguiente, alguna idea?

&*******Jatziry********&am
10 de Noviembre del 2004
Si te sirve ocupala y si en algun momento esperando que lo veas pronto lo mejoras mandame un correo....... CUIDATE ¡¡¡¡¡¡¡SUERTE!!!!!!!!!!!!!!


<?
// Datos de conexión a la base
$base="";
$con=mysql_connect("localhost","root","");
mysql_select_db($base,$con);

if (!isset($pg))
$pg = 1; // $pg es la pagina actual
$cantidad= 1; // cantidad de resultados por página
$inicial = $pg * $cantidad;

$pegar = ("SELECT * FROM tabla where id Like '%$id%' and campoLike '%$campo%' and /*aquisigues poniendo tus campos con esta sintaxis*/ order by id LIMIT $inicial, $cantidad");

$cad = mysql_db_query($base,$pegar) or die (mysql_error());
/*esto es para las ligas*/
$contar = ("SELECT * FROM tabla where id Like '%$id%' and campo Like '%$campo%' and con esta sintaxis sigues poniendo los demas campos");

$contaroks= mysql_db_query($base,$contar);
$total_records = mysql_num_rows($contaroks);
$pages = intval($total_records / $cantidad);

// Imprimiendo los resultados
while($row=mysql_fetch_array($cad))
{
/*pones tu variables asi $id=$row["id"];
$=$row[""];
$=$row[""];
$=$row[""];
}
//pongo el número de registros total, el tamaño de página y la página que se muestra
echo "Total Registros encontrados: " . $total_records . "<br>";
echo "Se muestran páginas de " . $cantidad . " registros cada una<br>";
echo "Mostrando la página " . $pg . " de " . $pages . "<p>";

// Cerramos la conexión a la base
$con=mysql_close($con);
// Creando los enlaces de paginación
echo "<p>";
if ($pg <> 0)
{
$url = $pg - 1;
echo "<a href='resultado2.php?id=<?php printf($id); ?>pg=".$url."' target='abajo'>« Anterior </a>";
}
for ($i = 0; $i<($pages + 1); $i++) {
if ($i == $pg) {
echo "<font face=Arial size=2 color=ff0000><b> $i </b></font>";
}
else {
echo "<a href='resultado2.php?id=<?php printf($id); ?>pg=".$i."' target='abajo'>".$i."</a> ";
}
}
if ($pg < $pages) {
$url = $pg + 1;
echo "<a href='resultado2.php?id=<?php printf($id); ?>pg=".$url."' target='abajo'>Siguiente »</a>";
}
echo "</p>";
?>