entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Paginación en JSP

Buenas :)

Nunca e tenido necesidad de hacer paginación en los sistemas que e desarrollado, me gustaría saber si alguien me puede orientar con esto, ya busque ejemplos y tengo una vaga idea, el problema es que los ejemplos son demasiado extensos, con un pequeñisimo ejemplo me bastaria :) gracias

-- No necesariamente tiene que ser el código exacto, simplemente algo platicado. :)

1 Respuesta

1voto

Un amigo me paso un código muy sencillo, espero a alguien le pueda ayudar es en PHP pero la lógica es lo unico que se necesita :)

>  //primero obtenemos el parametro que nos dice en que pagina estamos
>       $page = 1; //inicializamos la variable $page a 1 por default
>       if(array_key_exists('pg', $_GET)){
>           $page = $_GET['pg']; //si el valor pg existe en nuestra url, significa que estamos en una pagina en especifico.
>       }
>       //ahora que tenemos en que pagina estamos obtengamos los resultados:
>       // a) el numero de registros en la tabla
>       $con=mysqli_connect("localhost","ricardogeek","passw0rd","mi_db");
>       $conteo =  mysqli_query($con,"SELECT COUNT(*) as conteo FROM clientes");
>       while($row = mysqli_fetch_array($result))
>       {
>          $conteo = $row['conteo'];
>       }
>       //ahora dividimos el conteo por el numero de registros que queremos por pagina.
>      $max_num_paginas = intval($conteo/50); //en esto caso 50

 // ahora obtenemos el segmento paginado que corresponde a esta pagina
 $segmento = mysqli_query($con,"SELECT *  FROM clientes LIMIT ".(($page-1)*50).", 50 ");

  //ya tenemos el segmento, ahora le damos output.
  echo '<table>';
   while($row = mysqli_fetch_array($result))
  {
     echo '<tr>
                 <td>'.$row['id'].'</td>
                 <td>'.$row['nombre'].'</td>
                 <td>'.$row['direccion'].'</td>
                 <td>'.$row['telefono'].'</td>
           </tr>'; 
  }
  echo '</table><br/><br/>';

  //ahora viene la parte importante, que es el paginado
  //recordemos que $max_num_paginas fue previamente calculado.
  for($i=0; $i<$max_num_paginas;$i++){
     echo '<a href="MiScript.php?pg='.($i+1).'">'.($i+1).'</a> | ';
  }  

1voto

pedro_cabrera comentado

Si usas php utiliza la función ceil() en lugar de intval() o se te pueden quedar los últimos registros colgados.
Un saludo.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta