Realmente no entendí mucho como trabaja tu código .. realmente me "despista" mucho el uso de esos "bucles" for() aplicados a mysql_result() cuando deberías usar:
mysql_fetch_array() (o similar) tipo:
Código PHP:
<?
while ($row=mysql_fetch_array($rs)){
echo $row['precio']; // etc con el resto ...
}
Esto es mucho más óptimo que repetir N veces tantos mysql_result() .. por lo menos para eso se diseñaron el grupo de funciones "_fetch_" en PHP ..
---------------------------
Fuera de esos "detalles" (que deberías tenernos en cuenta .. )
No sé si la intención de tu código "mostrar_rutas.php" es generar un Listado de N registros y en cada uno que aparezca un link hacia "reserva.php" donde se le pase el "ID" del registro de esa "linea" para que este a su vez lo procese.
Si es así .. deberías hacer:
Código PHP:
<?
<A HREF="reserva.php?idruta=<? echo $id ?>" target="reserva">Adquirir</A></TD>
y en reserva.php .. recibes el dato por GET:
Código PHP:
<?
echo $_GET['idruta'];
Tu campo "hidden" está de más .. de hecho no se vé algún formulario por médio ni link que dispare un "submit" (via javascript) o botón de formulario para tal fin. Así que al "accionar" ese link .. tan sólo mandas a cargar al navegador a "reserva.php" pero ese campo hidden con esa variable ahí no va a ningún lado.
La propuesta que te indico es propagar ese valor en una variable en el URL como ahí ves.
Un saludo,