08/09/2003, 21:36
|
| | Fecha de Ingreso: agosto-2003
Mensajes: 33
Antigüedad: 21 años, 5 meses Puntos: 0 | |
Consulta de Paginacion de resultados Hola,
Estoy utilizando este codigo de paginacion, pero no funciona porque solo la primera pagina me muestra los resultados, pero cuando le doy link en la pagina 2 me la muestra en blanco y << 1 2 >> tampoco lo muestra para navegar por las paginas, no se si las instrucciones las he puesto mal o si tengo que agregar otras sentencias que no se.
Quisiera que por favor me revisaran el codigo y me dijeran si en realidad no funciona o me podrían recomendar un codigo que de verdad funcionará.
<?
if($buscar){
$Conn=mysql_connect("localhost","","");
mysql_select_db("trabajo",$Conn);
if($sec=="autor"){
if (!isset($pag)) $pag = 1; // Por defecto, pagina 1
$tampag = 10;
$reg1 = ($pag-1) * $tampag;
//Sentencia SQL
$sql="select * from resum where autor like '%$buscar%' ORDER BY titulo";
$result=mysql_query($sql,$Conn);
$total = mysql_num_rows($result);
if (mysql_num_rows($result)){
echo '<h4><b>RESULTADOS:</h4></b>';
echo '<table align="center" border="2">';
echo '<tr><td><b>REFERENCIA</b></td><td><b>TITULO</b></td>';
for ($i=$reg1; $i<min($reg1+$tampag, $total); $i++) {
mysql_data_seek($result, $i);
//Resultados
$row=mysql_fetch_array($result);
echo '<tr><td>'.$row["referencia"].'</td>';
echo '<td><a href="desplegar.php3?titulo='.urlencode($row["titulo"]).'">'.$row["titulo"].'</a></td>';
}
echo "</table> \n";
echo paginar($pag, $total, $tampag, "http://localhost/busca111.php3?pag=");
}
}
else
echo "¡ No se ha encontrado ningún registro !";
}
?>
<?
function paginar($actual, $total, $por_pagina, $enlace, $maxpags=0) {
$total_paginas = ceil($total/$por_pagina);
$anterior = $actual - 1;
$posterior = $actual + 1;
$minimo = $maxpags ? max(1, $actual-ceil($maxpags/2)): 1;
$maximo = $maxpags ? min($total_paginas, $actual+floor($maxpags/2)): $total_paginas;
if ($actual>1)
$texto = "<a href=\"$enlace$anterior\">«</a> ";
else
$texto = "<b>«</b> ";
if ($minimo!=1) $texto.= "... ";
for ($i=$minimo; $i<$actual; $i++)
$texto .= "<a href=\"$enlace$i\">$i</a> ";
$texto .= "<b>$actual</b> ";
for ($i=$actual+1; $i<=$maximo; $i++)
$texto .= "<a href=\"$enlace$i\">$i</a> ";
if ($maximo!=$total_paginas) $texto.= "... ";
if ($actual<$total_paginas)
$texto .= "<a href=\"$enlace$posterior\">»</a>";
else
$texto .= "<b>»</b>";
return $texto;
}
?>
Gracias por su ayuda
__________________ Patricia |