Pinçado da lista...
1:
Pelo guia, eu entendi que a classe determinava automaticamente o
segmento que continha a página, só que não é bem isso. Ela determina
como padrão o segmento 3, conforme atribuição da classe pagination:
var $uri_segment = 3;
E pelo meu link era o segmento 7. Mudei o $config['uri_segment'] = 7 e
resolveu.
OU 2)
Então vamos lá, vou te passar um que fiz para não perder tempo, *o que
não quer dizer que é o jeito certo ou a melhor forma*.
Controller
>/ // pega o segmento para página seguinte/anterior
/>/ $page = $this->uri->segment(4);
/>/
/>/ // consulta o total de registros p/ paginar (envia marca,
/>/ true/false se for só totalização e valor inicial se paginação)
/>/ $TotRegPagin = $this->Prodmod->selProdbyMarca( $segMarcaId,
/>/ true, 0 );
/>/
/>/ // calcula o total de páginas para configurar o número de
/>/ dígitos a exibir na paginação
/>/ $numLinks = ($TotRegPagin) ? ceil( $TotRegPagin /
/>/ self::PerPage ) : '';
/>/
/>/ // monta array com produtos pesquisados, envia true/false se
/>/ for totalização para paginar e nº de páginas
/>/ $auxData['aProduto'] = $this->Prodmod->selProdbyMarca(
/>/ $segMarcaId, false, $this->page );
/>/
/>/ $config['base_url'] = base_url() . '/home/banner/' .
/>/ $segMarcaId;
/>/ $config['total_rows'] = $TotRegPagin;
/>/ $config['per_page'] = self::PerPage;
/>/ $config['num_links'] = $numLinks;
/>/ $config['uri_segment'] = 4;
/>/ $config['first_link'] = '<<';
/>/ $config['last_link'] = '>>';
/>/ $config['next_link'] = '>';
/>/ $config['prev_link'] = '<';
/>/
/>/ // inicializa paginação
/>/ $this->pagination->initialize($config);
/>/
/>/ // cria links para paginação
/>/ $auxData['pagina'] = $this->pagination->create_links();
/>/
/>/ // vai!
/>/ $data['divTopo'] = '';
/>/ $data['divMiolo'] = $this->load->view('vi_banner', $auxData,
/>/ true);
/>/ $data['divLMenu'] = '';
/>/ $data['divFooter'] = '';
/>/ $this->load->view( 'vi_container', $data );
/
Model
>/ function selProdbyMarca( $marcaId, $totaliza, $Inicial = 0) {
/>/ // caso totaliza for verdadeiro, então apenas retorna o total
/>/ de registros para paginação
/>/ // do contrário faz a consulta normalmente
/>/ $this->db->select('fotoNome, prodId, prodNome');
/>/ $this->db->from('prod');
/>/ $this->db->join('foto', "prod.prodId = foto.fotoProdId");
/>/ $this->db->where('prodAtivo', '1');
/>/ $this->db->order_by('prodId', 'asc');
/>/ // se for paginação, retorna o total encontrado e abandona a
/>/ consulta
/>/ if ($totaliza) return $this->db->count_all_results();
/>/ $this->db->limit(self::PerPage, $Inicial);
/>/ $query = $this->db->get();
/>/ return $query->result();
/>/ }
/
View
>/ (bla bla bla...)
/>/
/>/ <div id="maispags">
/>/ <?php echo $pagina; ?><br>
/>/ </div>
/
E 3:
Eu não uso sessão, faço assim:
>/ // pega a uri completa para servir de base a paginação
/>/ $this->segmentUrl = '/show/produto/';
/>/
/>/ // pega o segmento para página seguinte/anterior (contém o número que
/>/ será usado na query para paginar)
/>/ $this->page = $this->uri->segment(5);
/>/ // configura paginação
/>/ $config['base_url'] = base_url() . $this->segmentUrl;
/>/ $config['total_rows'] = $this->TotRegPagin;
/>/ $config['per_page'] = self::PerPage;
/>/ $config['num_links'] = $this->numLinks;
/>/ $config['uri_segment'] = 5;
/>/ // inicializa paginação
/>/ $this->pagination->initialize($config);
/>/
/>/ // cria links para paginação
/>/ $this->auxData['pagina'] = $this->pagination->create_links();
/E na view:
>/ <div id="maispags">
/>/ <?php echo $pagina; ?><br>
/>/ </div>
/
Abs
Muita sorte para nós!
Marco Antônio
**
* Pier de Ipanema ( http://www.pierdeipanema.com.br/ )
* Hosting-Rio Websites ( http://www.hosting-rio.com.br/ )
* CodeIgniter PHP framework ( http://www.codeigniter.com.br/ )
Leonardy Cardoso escreveu:
> Eu errei é a classe de paginação mesmo..
> Eu seguir igual como estava no manual do CI.
>
> Mas mesmo assim naum conseguir.
>
>
> Em 06/07/08, *Marco Antônio* <[EMAIL PROTECTED]
> <mailto:[EMAIL PROTECTED]>> escreveu:
>
> No assunto está paginação mas no corpo, validação ???
> Enfim, qualquer um dos dois, basta dar uma procurada na lista que
> tem um
> montão de exemplos de uso. ;)
>
> Muita sorte para nós!
>
> Marco Antônio
>
> **
> * Pier de Ipanema ( http://www.pierdeipanema.com.br/ )
> * Hosting-Rio Websites ( http://www.hosting-rio.com.br/ )
> * CodeIgniter PHP framework ( http://www.codeigniter.com.br/ )
>
>
>
>
> Anderson Unsonst escreveu:
> > bom partindo pelo presuposto que vc seguiu o manual , teria como vc
> > postar o seu codigo ? assim agente pode ajudar bemmm melhor =]
> >
> ------------------------------------------------------------------------
> >
> > _______________________________________________
> > Lista mailing list
> > [email protected] <mailto:[email protected]>
> > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
> >
>
> _______________________________________________
> Lista mailing list
> [email protected] <mailto:[email protected]>
> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Lista mailing list
> [email protected]
> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>
_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br