Aquí os paso el código. La primera parte selecciona resultados y los plasma y la segunda corresponde a la paginación propia.
Gracias por vuestra ayuda ante todo. un abrazo.
Código PHP:
///dos////////////muestra los resultados correspondientes a cada página
$image = '<href="mostraroracion.php?tema_id=$tema_id"><img src="../imagenes/pastoral/icono' . $row['icono'] . '.gif" width="14" height="14" border="0" /></a>';
$link = mysql_connect("localhost", "senioman");
mysql_select_db("foro", $link);
if (!isset($pag)) $pag=1; // Si la variable no está definida mostrar la página 1
$tampag = 10;
$reg1 = ($pag-1) * $tampag; // resta 1 del número de página y lo multiplica por el número de entradas por página. En relación con mysql_data_seek
$result = mysql_query("SELECT tema_id, tema_titulo, tema_creador FROM temas_foro ", $link); // después de temas_foro añadir "order by tema_id desc" para invertir orden
$total = mysql_num_rows($result); //número total de entradas
if (mysql_num_rows($result)){
echo "<table border = '0'> \n";
echo ($pag-1)*$tampag; echo $pag;//esto puselo yo
for ($i=$reg1; $i<min($reg1+$tampag, $total); $i++) { //
mysql_data_seek($result, $i); //sitúa el puntero interno en la primera entrada de la serie que toca muestrar
$row = mysql_fetch_array($result); // muestra las entradas seleccionadas en funcion del tampag y de la situacion del puntero interno
echo "<br><a href=\"mostraroracion.php?tema_id=".$row["tema_id"]."\">$image <font size='2' face='Verdana'>".$row["tema_id"]. "<font size='2' face='Verdana'>. <strong>".$row["tema_titulo"].
"</strong><br><font size='1' face='Verdana'>Puesto por ".$row["tema_creador"]."</td></tr> \n";
}
echo "</table> \n";
}
else
echo "¡ No se ha encontrado ninguna oración !";
Código PHP:
/******************************************************/
/* Funcion paginar
* actual: Pagina actual
* total: Total de registros
* por_pagina: Registros por pagina
* enlace: Texto del enlace
* Devuelve un texto que representa la paginacion
*/
function paginar($pag, $total, $tampag, $enlace) {
$total_paginas = ceil($total/$tampag);
$anterior = $pag - 1;
$posterior = $pag + 1;
if ($pag>1)
$texto = "<a href=\"$enlace$anterior\">«</a> ";
else
$texto = "<b>«</b> ";
for ($i=1; $i<$pag; $i++)
$texto .= "<a href=\"$enlace$i\">$i</a> ";
$texto .= "<b>$pag</b> ";
for ($i=$pag+1; $i<=$total_paginas; $i++)
$texto .= "<a href=\"$enlace$i\">$i</a> ";
if ($pag<$total_paginas)
$texto .= "<a href=\"$enlace$posterior\">»</a>";
else
$texto .= "<b>»</b>";
return $texto;
}
echo paginar($pag, $total, $tampag, "oraciones.php?pag=");
?>