Tengo un formulario donde muestro la estacion, mes, año.
Con este código muestro por paginas el resultado que arroja la consulta, pero el detalle es que cuando le doy siguiente ya no me muestra los siguientes datos.. si en el codigo la consulta es simple como: select * from tabla; si me muestra todos los datos y me deja ir hacia delante y atras … alguien sabe que estoy haciendo mal..

Código :

<?
   //conectar a BD
   include "conectar.php";
   $link = Conectarse();
      
   if (!isset($pg))
   $pg = 0; // $pg es la pagina actual
   $cantidad=24; // cantidad de resultados por página
   $inicial = $pg * $cantidad;
   
   //$aLista=array_keys($_POST['campos']); //recibe campos
        
   $pegar = "SELECT dia,mes,ano,hora FROM lectura 
           WHERE mes='$imes' and ano='$iano' and id_estacion in(
           SELECT id_estacion from estacion WHERE nombre='$estacion') LIMIT $inicial,$cantidad";
   $cad = mysql_query($pegar,$link) or die (mysql_error());
   $numfields = mysql_num_fields ($cad); //numero de campos
   
   $contar = "SELECT dia,mes,ano,hora FROM lectura 
            WHERE mes='$imes' and ano='$iano' and id_estacion in(
            SELECT id_estacion FROM estacion WHERE nombre='$estacion')";
   $contarok = mysql_query($contar,$link) or die (mysql_error());
   $total_records = mysql_num_rows($contarok);
   $pages = intval($total_records / $cantidad);
   
   
   // Imprimiendo los resultados
   echo "<table> \n <tr bgcolor=#FF9900>";
      for ($i=0; $i < $numfields;  $i++) {
         echo "<th>" .mysql_field_name ($cad, $i). "</th>"; 
      }
      echo "</tr> \n";
      while ($row = mysql_fetch_row ($cad)) {
         echo "<tr bgcolor=#DDF2BC><td>" .implode ($row, "</td><td>"). "</td></tr> \n"; 
      }
   echo "</table> \n";
   
   // Cerramos la conexión a la base
   mysql_close($link);
   
   // Creando los enlaces de paginación
   echo "<p class=fonty>";
   if ($pg != 0) {
      $url = $pg - 1;
      echo "<a href='$PHP_SELF?pg=".$url."'>&laquo; Anterior</a>&nbsp;";
   } else {
      echo " ";
   }
   
   for($i = 0; $i <= $pages; $i++){
      if($i == $pg){
         if($i == "0"){
            echo "<b> 1 </b>";
         }else{
            $i = $i+1;
            echo "<b> ".$i." </b>";   }
      }else{
         if($i == "0") {
            echo "<a href=$PHP_SELF?pg=".$i.">1</a> ";
         }else{
            echo "<a href='$PHP_SELF?pg=".$i."'>";
            $i = $i+1;
            echo $i."</a>&nbsp;";
         }
      }
   }
   
   if($pg < $pages){
      $url = $pg + 1;
      echo "<a href='$PHP_SELF?pg=".$url."'>Siguiente &raquo;</a>";
   }else{
      echo " ";
   }
   echo "</p>";
   ?>