bueno, creo que al final sera mas facil asi, ya que por mas que le busco no le encuentro pies o cabeza a tu codigo (sin ofender ^^), aqui te dejo el codigo que deberia de funcionar con algunos aditamentos
Código PHP:
<?php
//verificamos si existe la varble $_GET["pag"]
if (isset($_GET["pag"])) {
$pag_actual = $_GET["pag"];
}else {
$pag_actual = 1;
}
//indicamos cuantos registros se mostraran por pagina
$reg_pag = 10;
//recolecto todos los registros para la categoria $categoria
$sql_reg = mysql_query("select * from temas where id_categoria = '".$categoria."'",$tu_variable_conexion) or die (mysql_error());
//obtenemos el total de registros
$total_registros = mysql_num_rows($sql_reg);
//liberamos memoria
mysql_free_result($sql_reg);
//calculamos cuantas paginas necesitamos
$total_pag = ceil($total_registros / $reg_pag);
//ahora calculamos desde que indice recolectamos los registros
$reg_inicio = ($pag_actual - 1) * $reg_pag;
//ahora recolectamos los registros necesarios para mostrar en la pagina actual
$sql_result = mysql_query("select * from temas where id_categoria = '".$categoria."' limit ".$reg_inicio.",".$reg_pag,$tu_variable_conexion) or die (mysql_error());
//ahora creamos los enlaces
$enlaces = '';
//verificamos si estamos en la primera pagina
if ($pag_actual == 1) {
$enlaces = 'Anterior ';
}else {
$enlaces = '<a href="'.$_SERVER['PHP_SELF'].'?pag='.($pag_actual - 1).'">Anterior</a> ';
}
//ahora creamos la numeracion de las paginas
for ($i=1; $i<=$total_pag; $i++) {
if ($i == $pag_actual) {
$enlaces .= '<strong>'.$i.'</strong>';
}else {
$enlaces .= '<a href="'.$_SERVER['PHP_SELF'].'?pag='.$i.'">'.$i.'</a> ';
}
}
//ahora verificamos si nos encontramos en la ultima pagina
if ($pag_actual == $total_pag) {
$enlaces .= 'Siguiente';
}else {
$enlaces .= '<a href="'.$_SERVER['PHP_SELF'].'?pag='.($pag_actual + 1).'">Siguiente</a>';
}
//ahora no se bien como sea tu estructura, pero creo que esto ya lo puedes modificar sin problema
?>
<table width="200" border="1">
<tr>
<td>Campo 1</td>
<td>Campo 2</td>
<td>Campo3</td>
</tr>
<?php while($row=mysql_fetch_assoc($sql_result)) { ?>
<tr>
<td><?php echo $row["campo_01"]; ?></td>
<td><?php echo $row["campo_02"]; ?></td>
<td><?php echo $row["campo_03"]; ?></td>
</tr>
<?php } ?>
</table>