Foros del Web » Programando para Internet » PHP » CodeIgniter »

Problemas paginador

Estas en el tema de Problemas paginador en el foro de CodeIgniter en Foros del Web. Estimados buen dia. Tengo la siguiente vista Código PHP: <?php   $this -> load -> Helper ( 'html' ); ?> <!DOCTYPE html> <html lang="es">   <head>     <meta charset="utf-8">       <title>Listado de alumnos</title>   <!--<script src="//code.jquery.com/jquery-1.11.2.min.js"></script>--> ...
  #1 (permalink)  
Antiguo 31/03/2015, 09:48
Avatar de bymorr  
Fecha de Ingreso: septiembre-2012
Mensajes: 118
Antigüedad: 12 años, 2 meses
Puntos: 9
Exclamación Problemas paginador

Estimados buen dia.
Tengo la siguiente vista
Código PHP:
<?php
  $this
->load->Helper('html');
?>
<!DOCTYPE html>
<html lang="es">
  <head>
    <meta charset="utf-8">  
    <title>Listado de alumnos</title>
  <!--<script src="//code.jquery.com/jquery-1.11.2.min.js"></script>-->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css">
    <!-- Se enlaza el archivo Bootstrap core CSS -->
   <?php 
   
// echo link_tag('css/bootstrap.min.css'); 
   
?>
  </head>
  <body>
  <? echo base_url(); ?>
      <div class="container">
          <div class="col-md-12">
            <h1 class="page-header">ALUMNOS</h1>           
              <div class="table-responsive">
                <table class="table table-striped">
                  <thead>
                    <tr>                
                      <th>Num control</th>
                      <th>Nombre</th>
                      <th>Fecha de nacimiento</th>
                      <th>Sexo</th>
                    </tr>
                  </thead>
                  <tbody>
                    <?php
                    
if($alumnos !== FALSE) {
                      
// Se imprimen los datos de los alumnos
                      
foreach ($alumnos as $fila) {
                    
?>
                     <tr>                      
                        <td><?php echo $fila->movie_id?></td>
                        <td><?php echo $fila->film_name?></td>
                        <td><?php echo $fila->director?></td>
                        <td><?php echo $fila->release_year?></td>
                      </tr>
                    <?php                  
                  
}
                }
                
?>
              </tbody>
            </table>
            <ul class="pagination">
            <?php
              
/* Se imprimen los números de página */           
              
echo $this->pagination->create_links();
            
?>
            </ul>
          </div>
        </div>
    </div>  
  </body>
</html>
el siguiente controlador.
Código PHP:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
 class 
Alumno extends CI_Controller {
  
  public function 
index()
  { 
$this->load->helper('url');
    
/* Se cargan el modelo alumno y la libreria pagination */ 
    
$this->load->model('alumno_model');
    
$this->load->library('pagination');
    
/* URL a la que se desea agregar la paginación*/
    
$config['base_url'] = base_url().'index.php/alumno/';
  
    
/*Obtiene el total de registros a paginar */
    
$config['total_rows'] = $this->alumno_model->get_total_alumnos();
      
    
/*Obtiene el numero de registros a mostrar por pagina */
    
$config['per_page'] = '5';
    
// $config['per_page'] = $this->uri->segment(0, 10);
 
    /*Indica que segmento de la URL tiene la paginación, por default es 3*/
    
$config['uri_segment'] = '2';
    
// $desde = ($this->uri->segment(3)) ? $this->uri->segment(3) : 2;
  
    /*Se personaliza la paginación para que se adapte a bootstrap*/
    
$config['cur_tag_open'] = '<li class="active"><a href="#">';
    
$config['cur_tag_close'] = '</a></li>';
    
$config['num_tag_open'] = '<li>';
    
$config['num_tag_close'] = '</li>';
    
$config['last_link'] = FALSE;
    
$config['first_link'] = FALSE;
    
$config['next_link'] = '&raquo;';
    
$config['next_tag_open'] = '<li>';
    
$config['next_tag_close'] = '</li>';
    
$config['prev_link'] = '&laquo;';
    
$config['prev_tag_open'] = '<li>';
    
$config['prev_tag_close'] = '</li>';
  
    
/* Se inicializa la paginacion*/
    
$this->pagination->initialize($config);
  
    
/* Se obtienen los registros a mostrar*/
    
$datos['alumnos'] = $this->alumno_model->get_alumnos($config['per_page'], $config['uri_segment']); 
    
    
// $datos['alumnos'] = $this->alumno_model->get_alumnos($config['per_page'], $desde);
      
    /*Se llama a la vista para mostrar la información*/
    
$this->load->view('alumno'$datos);
  }
}
el siguiente modelo.
Código PHP:
<?php
class Alumno_model extends CI_Model {
  function 
__construct()
  {
    
parent::__construct();
  }
  
  function 
get_alumnos($porpagina,$segmento)
  {
    
$query $this->db->get('trn_movies',$porpagina,$segmento);
    if( 
$query->num_rows )
      return 
$query->result();
    else
      return 
FALSE;
  }
 
  function 
get_total_alumnos(){
    return 
$this->db->count_all('trn_movies');
  }
}

?>
al presionar para paginar, cambia la url pero no los datos.
No hay error alguno en consola ni nada.


Ayuda.
(es un paginador de internet, que trate de implementarlo pero no esta completo.)
  #2 (permalink)  
Antiguo 04/04/2015, 23:56
Avatar de jamie_88  
Fecha de Ingreso: abril-2011
Ubicación: Lima
Mensajes: 161
Antigüedad: 13 años, 7 meses
Puntos: 28
Respuesta: Problemas paginador

estas pasando como offset siempre el mismo número, osea, $config['uri_segment']. Podrías probar modificando simplemente tu controlador de la siguiente manera:

Código PHP:
public function index($off 0){
$offset = (int)$off;
...
$datos['alumnos'] = $this->alumno_model->get_alumnos($config['per_page'], $offset);
..


Etiquetas: paginador
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 02:24.