Vale, ya e encontrado el problema, que es el siguiente
Tu haces la paginacion con una consulta que ya tiene una clausula LIMIT con lo cual tu $total_registros siempre ba a tener 10 o menos pero nunca mas, por que asi se lo hemos pedido con el LIMIT, entonces la solucion es hacer un sql primero sin el LIMIT pero con las clausulas WHERE y obtener el valor de los registros
E echo una pequeña reforma de tu codigo para que estea un poco mas clarito y ya con algunas soluciones. SI no entiendes algo pregunta ;)
Código PHP:
<?php
$Tbusq = $_POST["opCAMPO1"];
$accion = $_POST["txtEXPR1"];
$pagina = (isset($_GET['pagina'])) ? $_GET['pagina'] : 1; //Si esta definida $_GET['pagina'] cojemos su valor, si no hay nada la primera pagina es 1
//Aquí ya tienes otro problema por que la pagina se pasa por GET
//Y los paremetros de busqueda por POST y al cambiar de pagina estos no se mandan.
//Te recomiendo usar solo POST o GET, o en su defecto guardar los valores en cookies.
$sql = "SELECT num, titulo, tema FROM inegi";
switch($Tbusq)
{
//Si $Tbusq es igual a 1
case 1:
$sql .= " WHERE titulo LIKE '%$accion%'";
break;
//Si $Tbusq es igual a 2
case 2:
$sql .= " WHERE tema LIKE '%$accion%'";
break;
case '':
default:
exit('Selecciona un tipo de busqueda');
//Como no tenemos busqueda no queremos saber nada mas
break;
}
//Realizar una consulta en la BD:
$resultados = mysql_query($sql);
$total_registros = mysql_affected_rows($resultados);
$total_paginas = ceil($total_registros / $registros);
if($total_registros && $total_registros != -1)
{
$registros = 10; //Número de registros por pagina
$inicio = ($pagina - 1) * $registros; //Donde empezamos
//Ahora si queremos un limite de consultas
$sql .= " LIMIT $inicio, $registros";
while ($row = mysql_fetch_array($resultados))
{
//Mientras tengamos resultados
echo "<p><strong>Num. </strong>". $row['num'] ." - <strong>Titulo: </strong> ". $row['titulo'] ."<strong> Tema: </strong>". $row['tema'] ."</p>";
//echo "<P>", "<strong>", "Num. ", "</strong>", $row["num"], " - ", "<strong>", "Titulo: ", "</strong>", $row["titulo"], "<strong>", " Tema: ", "</strong>", $row["tema"], "</P>";
}
//Ahora mostramos la paginacion
echo "<center>";
if($pagina > 1)
{
echo "<a href='consultas.php?pagina=".($pagina--)."'>< Anterior</a> ";
}
for ($i = 1; $i <= $total_paginas; $i++)
{
if ($i == $pagina)
{
//Si esta es la pagina en la que estamos
echo "<b>".$i."</b> ";
}
else
{
echo "<a href=\"consultas.php?pagina=$i\">$i</a> ";
}
}
if ($pagina < $total_paginas)
{
//Si tenemos mas páginas que la actual
echo " <a href=\"consultas.php?pagina=".($pagina++)."\">Siguiente ></a>";
}
echo '</center>';
}
else
{
exit("<font color='darkgray'>(sin resultados)</font>");
//No queremos nada mas
}
?>