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

Error al generar paginación en Codeigniter

Estas en el tema de Error al generar paginación en Codeigniter en el foro de CodeIgniter en Foros del Web. hola, bueno estoy haciendo un listado de productos en codeigniter , al generar la paginacion me sale perfecto todo. sin embargo cuando navego por la ...
  #1 (permalink)  
Antiguo 30/10/2012, 14:42
 
Fecha de Ingreso: marzo-2012
Mensajes: 3
Antigüedad: 12 años, 9 meses
Puntos: 0
Pregunta Error al generar paginación en Codeigniter

hola, bueno estoy haciendo un listado de productos en codeigniter , al generar la paginacion me sale perfecto todo. sin embargo cuando navego por la pagina numero 2 o 3 o 4,etc me cambia los productos. eso esta bien. Pero el problema es que no me parece seleccionado en la pagina donde estoy actualmente, osea siempre me aparece marcado por defecto la pagina 1

pero lo mas raro es que si mi base url del paginador es base_url()/productos/ me sale perfecto todo. Logicamente que en routers.php le digo que si mi url es productos/ se vaya a productos/index/ y esto quiere decir que llame ami controlador productos y al metodo index

El problema me sale cuando mi base url es base_url()/productos/listar/
logicamente siginifica que llamare ami controlador productos y al metodo listar.

llevo varios dias atascado en esto.
  #2 (permalink)  
Antiguo 30/10/2012, 15:13
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 10 meses
Puntos: 288
Respuesta: Error al generar paginación en Codeigniter

y es dificil si no pones un codiguito al menos amiguito.
tenes que revisar como arma la query que mantenga los filtros y en especial el LIMIT para saber en que paginado estas
  #3 (permalink)  
Antiguo 30/10/2012, 17:21
 
Fecha de Ingreso: marzo-2012
Mensajes: 3
Antigüedad: 12 años, 9 meses
Puntos: 0
Pregunta Respuesta: Error al generar paginación en Codeigniter

aqui esta mi codigo:

Código PHP:
Ver original
  1. function listar(){
  2.  
  3. //cargo la librería
  4. $this->load->library(‘pagination’);
  5.  
  6. //configuracion
  7.  
  8. $config['base_url']    = base_url().”productos/listar/;
  9. $config['total_rows'] = $this->productos->getTotal();  //obtengo la cantidad de registros
  10. $config['per_page']  = 10;   //cantidad de registros por página
  11. $config['num_links'] = 5;    //numero. de enlaces antes y después de la pagina actual
  12. $config['prev_link']   = ‘anterior’;   //texto del enlace que nos lleva a la pagina ant.
  13. $config['next_link']   = ‘siguiente’;   //texto del enlace que nos lleva a la sig. página
  14.  
  15.  // inicializamos      
  16. $this->pagination->initialize($config);
  17.  
  18. /* llamo al método de nuestro modelo para hacer la consulta pasándole como parámetro la cantidad de registros por página y el registro por el que va a comenzar (estará contenido en el 3er segmento de la URL) */
  19.  
  20. $productos = $this->productos->getProductos($config['per_page'], $this->uri->segment(3));
  21.  
  22. //ahora debemos llamar a la vista y pasarle el array ‘$productos’ obtenido.
  23.  
  24. $datos[‘productos’] = $productos;
  25.  
  26. $this->load->view(‘productosproductos_view’, $datos,);
  27.  
  28. }

como les dije anteriormente si reemplazo el metodo listar por el metodo index y cambio mi base_url: $config['base_url'] = base_url().”productos/listar/”; por $config['base_url'] = base_url().”productos/”;

me funciona perfecto, pero si lo cambio por el metodo listar, me funcioan bien el paginado, pero siempre me indica que estoy en la pagina 1. siempre me cambia los productos pero sigue activado la pagina 1 del paginado.
  #4 (permalink)  
Antiguo 04/12/2012, 19:03
Avatar de jvinceso  
Fecha de Ingreso: septiembre-2011
Ubicación: Trujillo
Mensajes: 1
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Error al generar paginación en Codeigniter

Mira he pasado por el mismo problema y la solucion parece ser muy simple el uri_segment por defecto es 3 y al utilizar nuestros controladores dentro de una carpeta cambia el URI_SEGMENT deberias cambiar el numero uri_segment al segmento adecuado por ejemplo si tu url es
Código HTML:
Ver original
  1. http://localhost/misitioweb/carpeta/Controller/MetodoControlador/NumeroPagina
Tu URI_SEGMENT seria :
Código PHP:
Ver original
  1. $config['uri_segment'] = 4;
  2. //siendo
  3. //URI_SEGMENT_1 = carpeta
  4. //URI_SEGMENT_2 = Controller
  5. //URI_SEGMENT_3 = MetodoControlador
  6. //URI_SEGMENT_4 = NumeroPagina
Espero que esto resuelve el problema

Etiquetas: paginacion, php, programacion
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 03:57.