2012-06-22 13 views
5

He visto una serie de publicaciones antiguas sobre este tema en el desbordamiento de la pila, pero ninguna de ellas parece dar ninguna claridad. Lo que he entendido al pasar por ellos es que codeigniter no admite múltiples páginas a través de su clase y que debe escribir su propia clase.La mejor manera de hacer paginación múltiple en una página en codeigniter

Me pregunto si ese es el caso. En caso de que algún cuerpo aquí tenga una idea sobre cómo hacerlo, házmelo saber. Tengo tres listas que paso a la vista. Sin embargo, cuando los pagino a todos, las tres listas responden al mismo desplazamiento de página. ¿Es Ajax_pagination la salida?

Por favor, sugiera cómo hacerlo.

ACTUALIZACIÓN: Aquí está mi código y lo que estoy tratando de hacer. Este es un archivo de vista. Tengo dos listas 1. org_list 2. Ind_list Estoy tratando de pasar a estas dos listas en los archivos view view (organization_listing, individual_listing), ambos cargados en este archivo de vista y, por lo tanto, aparecen en la misma página. Ahora puedo paginar una lista, pero cuando pagino el segundo archivo, ambas responden al mismo desplazamiento uri.

Estoy generando los enlaces de paginación en los archivos de la vista (organization_listing, individual_listing).

<?php 

    $config['base_url'] = 'http://localhost/socialinew/user_registration/index.php/members_area/view_members_area'; 
    $config['total_rows'] = count($org_list); 
    $config['per_page'] = 4; 
    $config['num_links'] = 20; 
    $config['full_tag_open'] = '<div id="pagination3">'; 
    $config['full_tag_close'] = '</div>'; 

    $this->pagination->initialize($config); 

    for($i=$this->uri->segment(3)+0;$i<(($this->uri->segment(3)+$config['per_page']));$i++) 
    { 
     if(isset($org_list[$i])) 
     {$temp_org[$i]=$org_list[$i]; 
     } 


    } 

    $tmp_org['org_list']=$temp_org; 


$this->load->view('organization/organization_listing',$tmp_org); 



    $org_config['base_url'] = 'http://localhost/socialinew/user_registration/index.php/members_area/view_members_area/'; 
    $org_config['total_rows'] = count($ind_list); 
    $org_config['per_page'] = 5; 
    $org_config['num_links'] = 20; 
    $org_config['full_tag_open'] = '<div id="pagination2">'; 
    $org_config['full_tag_close'] = '</div>'; 

    $this->pagination->initialize($org_config); 

    for($i=$this->uri->segment(4)+0;$i<(($this->uri->segment(4)+$config['per_page']));$i++) 
    { 
     if(isset($ind_list[$i])) 
     {$temp_ind[$i]=$ind_list[$i]; 
     } 
    } 

     $tmp_ind['ind_list']= $temp_ind;  

$ this-> load-> view ('individual_listing', $ tmp_ind);>

+0

¿Puedes dar un ejemplo de lo que estás tratando de lograr exactamente? – MikeCruz13

+0

Si no te gusta ajax ... puedes usar iframes. – csotelo

Respuesta

1

Chicos Finalmente he usado javascript para cargar mis páginas individuales en la página, así que estoy enviando mis páginas a tres vistas diferentes y luego uso javascript para llamar esas vistas a la página. No se pudo encontrar ninguna forma de hacer múltiples páginas en la misma página.

+0

Chicos me hice esta pregunta hace más de un año, desde entonces trabajo con codeigniniter, javascript me he dado cuenta de que sus opciones están severamente restringidas si utiliza la paginación del codeignificador. Está diseñado para un uso muy básico y te toparás con alguna restricción a medida que trates de cusomizarlo para tus propios fines. En cambio, si pudieras crear tus propias llamadas javascript ajax para construir tus propias páginas, podrías construir más funcionalidades. – yash

+0

alguna idea de cómo? También estoy teniendo un problema con eso ... ayuda. – Vincent

+0

@Vincent en caso de que estés bien/cofortable con las llamadas jquery-ajax, podrías usar eso para la paginación. Puede cargar sus registros en el controlador y enviar llamadas ajax desde el frontend con parámetros que especifiquen el rango de registros que desea colocar en el front-end. Hace un año, cuando hice la pregunta, no me sentía cómodo con ajax, por lo que estaba deseoso de trabajar en la funcionalidad nativa de Codeigniter. Pero como resultó jquiery/ajax es un método mucho mejor para hacer esto. – yash

1

Si desea

1 2 3 4 

results 

1 2 3 4 

results 

Estoy bastante seguro de que es bastante sencillo?:

  1. acaba de configurar para el primer conjunto (dicen utilizar segmento URI 3)
  2. Initiali ze the pagination
  3. Crear los enlaces; y
  4. Envíelo a la vista.

Entonces

  1. configurar para el segundo conjunto (dicen utilizar segmento uri 4)
  2. inicializar la paginación
  3. Crea los enlaces; y
  4. Envíelo a la vista.
+0

¿Cómo establecer la url base en ese caso? – yash

+0

no se puede configurar con '$ config ['base_url']'? y use '$ config ['uri_segment'] = ;' para indicar qué segmento es significativo cambiar. Mire los documentos en url helper para ayudar a establecer la base. – MikeCruz13

+0

sí, he configurado la primera paginación para buscar el segmento uri 3 y la segunda paginación para el segmento uri 4. Pero no puedo entender cómo pasar un comodín en $ config [base_url] para el tercer segmento uri. También fui a través de url helper pero no puedo ver lo que puede ayudarme.se puede perder algo. – yash

Cuestiones relacionadas