Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/12/2006, 17:03
Avatar de admado
admado
 
Fecha de Ingreso: junio-2006
Ubicación: Morelos, México
Mensajes: 115
Antigüedad: 17 años, 10 meses
Puntos: 0
Pregunta Ayuda con paginación en PHP

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>";
    ?>