Foros del Web » Programando para Internet » PHP »

Ayuda con paginación en PHP

Estas en el tema de Ayuda con paginación en PHP en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 19/12/2006, 17:03
Avatar de admado  
Fecha de Ingreso: junio-2006
Ubicación: Morelos, México
Mensajes: 115
Antigüedad: 17 años, 9 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>";
    ?>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:33.