Podemos enfocarlo de esta manera. Com oya te puse en el codigo tendrás problemas con esto, asique vamos a solucionarlo.
El metodo mas rapido y sencillo (para mi son las sessiones) aunque puedes usar cookies, a tu libre gusto.
Con las sesiones quedaría asi.
Código PHP:
<table width="100%" border="0">
<tr>
<td width="99%" align="center"><span class="Estilo1">Resultado de la busqueda:</span></td>
<td width="1%"> </td>
</tr>
<tr>
<td>
<?php
session_name("MyWebSite"); //Puedes poner el nombre que quieras
session_start(); //Iniciamos la sesion
if (isset($_POST['opCAMPO1'])) //Si esta definida la metemos en la session
{
$_SESSION['opCAMPO1'] = $_POST['opCAMPO1'];
}
if (isset($_POST['txtEXPR1']))
{
$_SESSION['txtEXPR1'] = $_POST["txtEXPR1"]; //Si esta definida la metemos en la session
}
//Ahora asignamos a las variables el valor de la sesion
$Tbusq = $_SESSION['opCAMPO1'];
$accion = $_SESSION['txtEXPR1'];
$registros = 10; //Número de registros por pagina
$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 0:
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();
$total_paginas = ceil($total_registros / $registros);
if($total_registros && $total_registros != -1)
{
$inicio = ($pagina - 1) * $registros; //Donde empezamos
//Ahora si queremos un limite de consultas
$sql .= " LIMIT $inicio, $registros";
$resultados = mysql_query($sql);
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
}
?>
</td>
<td>
</td>
</tr>
</table>
Como ves lo que hacemos es comprobar si se han pasado valores por $_POST, si es así actualizamos la sesion. Si no se a pasado nada, es que ya debe estar guardado en la sesion.
Ya me cuentas