error tonto con la busqueda pero ¿donde?

Boolean
04 de Julio del 2005
Hola, vereis estoy teniendo problemas y no encuentro la solucion, seguro que es un problema de lo mas tonto pero no lo localizo, cuando consulto la base de datos para que me muestre todos los registros funciona todo perfectamente, el problema surge cuando en otro formulario repito las mismas acciones pero para una busqueda, lo que hace el código es mostrarme el primer registro que ha encontrado, pero los siguientes que encuentra sale el botón de ir al siguiente registro pero sin embargo al darle se queda la pantalla en blanco y no se por qué ocurre esto. Espero que me podais iluminar un poco, gracias, os pongo el código (omito las cajas de texto donde se visualizan los resultados)

$sql = "SELECT * FROM informacion WHERE ".$busqueda_seleccion." LIKE '%".$busqueda_informacion."%'";
$res=mysql_query($sql);
$numeroRegistros=mysql_num_rows($res);

if($numeroRegistros<=0)
{
echo "<div align='center'>";
echo "<font face='verdana' size='-2'>No se encontraron resultados</font>";
echo "</div>";
}else{

if(!isset($orden))
{
$orden="identificacion";
}

$tamPag=1;

if(!isset($_GET["pagina"]))
{
$pagina=1;
$inicio=1;
$final=$tamPag;
}else{
$pagina = $_GET["pagina"];
}

}
$limitInf=($pagina-1)*$tamPag;

$numPags=ceil($numeroRegistros/$tamPag);
if(!isset($pagina))
{
$pagina=1;
$inicio=1;
$final=$tamPag;
}else{
$seccionActual=intval(($pagina-1)/$tamPag);
$inicio=($seccionActual*$tamPag)+1;

if($pagina<$numPags)
{
$final=$inicio+$tamPag-1;
}else{
$final=$numPags;
}

if ($final>$numPags){
$final=$numPags;
}
}
$sql = "SELECT * FROM informacion WHERE ".$busqueda_seleccion." LIKE '%".$busqueda_informacion."%' ORDER BY ".$busqueda_seleccion.",identificacion ASC LIMIT ".$limitInf.",".$tamPag ;
$res=mysql_query($sql);
echo "</font></div>";

while($registro=mysql_fetch_array($res))
{
?>
______________________________________________________________

AQUI SE MUESTRAN LOS RESULTADOS
______________________________________________________________

<?
}

if($pagina>1)
{
echo "<a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".($pagina-1)."&orden=".$orden."'>";
echo "<img src='../../../Imagenes/Otras/btn_ant.gif' width='40' height='40' border='0'></a>";
}
?>

</div></td>
<td><div align="center">

<?
for($i=$inicio;$i<=$final;$i++)
{
if($i==$pagina)
{
echo "<font face='verdana' size='-1'><b>Registro ".$i."</b> </font>";
}else{
echo "<a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".$i."&orden=".$orden."'>";
echo "<font face='verdana' size='-1'> Registro ".$i."</font></a> ";
}
}
?>

</div></td>
<td><div align="right">

<?
if($pagina<$numPags)
{
echo " <a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".($pagina+1)."&orden=".$orden."'>";
echo "<img src='../../../Imagenes/Otras/btn_sig.gif' width='40' height='40' border='0'></a>";
}
?>

boolean
04 de Julio del 2005
Ya conseguí resolver el problema, resulta que al cambiar de página no se estaban mandando los valores de las variables. por si a alguien le nteresa el problema se resuelve así:

echo "<a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".$i."&orden=".$orden."&sel=".$sel."&inf=".$inf."'>";
echo "<font face='verdana' size='-1'> Registro ".$i."</font></a> ";

PD: cambié el nombre de la variable que recogía los valores, antes era busqueda_seleccion y busqueda_informacion, y ahora puse sel e inf.