Jump to content


Photo

Paginador


  • Faça o login para participar
1 reply to this topic

#1 Max William

Max William

    12 Horas

  • Usuários
  • 192 posts
  • Sexo:Masculino
  • Localidade:Maringá - Paraná

Posted 15/03/2010, 18:06

Galera to com uma dúvida de como fazer isto.

Meu páginador não tem nada de errado com ele, ele funciona e atende exatamente o que eu preciso, so que tem um porem, conforme for almentando os registros ele vai criando link para as paginas 1,2,3,4,etc..

Eu gostaria de modificar ele para que, ele mostra-se [proxima][1][2]...[4][5][anterior].
Traduzindo, se o paginador tiver que montar não mostre tudo, mostre 2 paginas frente da pagina atual, e 2 paginas atras da pagina atual.
Segue a parte que monta o paginador

# Início Paginador.
				echo "<div class='paginador'>";
				echo "<ul>";
				
				// Determinando qual página anterior.
				$pag_anterior = $pagina - 1;

				// Determinando qual próxima página.
				$pag_proxima = $pagina + 1;
				
				// Efetuo cálculo do número de páginas.
				if($total_pagina > 1 )
				{
					# Verifica se foi passado parametro página
					if(!empty($this->url))
					{
						// Mostragem de pagina
						if($pag_anterior > 0)
						{
							echo "<li><a href='?p=".$this->url."&amp;pagina=$pag_anterior'>anterior</a></li>";
						}
					
						// Listando as paginas  
						for($i=1;$i <= $total_pagina;$i++)
						{
							if($i != $pagina)
							{
								echo "<li><a href=?p=".$this->url."&amp;pagina=".($i).">$i</a></li>";
							}
							else
							{
								echo "<li><a href='#'>".$i."</a></li>";
							}
						}
						
						if($pag_proxima <= $total_pagina)
						{
							echo "<li><a href=?p=".$this->url."&amp;pagina=$pag_proxima>próxima</a></li>";
						}
					}
					else
					{
						// Mostragem de pagina
						if($pag_anterior > 0)
						{
							echo "<li><a href='?pagina=$pag_anterior'>anterior</a></li>";
						}
					
						// Listando as paginas  
						for($i=1;$i <= $total_pagina;$i++)
						{
							if($i != $pagina)
							{
								echo "<li><a href=?pagina=".($i).">$i</a></li>";
							}
							else
							{
								echo "<li><a href='#'>".$i."</a></li>";
							}
						}
						
						if($pag_proxima <= $total_pagina)
						{
							echo "<li><a href=?pagina=$pag_proxima>próxima</a></li>";
						}
					}
				}
				echo "</ul>";
				echo "</div>";

Se eu lhe ajudei ;) Clique para agradecer!

#2 MBA

MBA

    24 Horas

  • Usuários
  • 412 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte
  • Interesses:Desenvolvimento WEB

Posted 15/03/2010, 21:27

Boa noite amigo.
É mais fácil que listar todos...
Uma maneira (talvez não a melhor) é você fazer duro!
Você testa se existe a página anterior. Se existir você mostra...
A mesma coisa com a próxima e faça isso duas vezes.

O botão "anterior" e o botão "próximo" você já fez...

Qualquer coisa ou se alguém tiver fácil algum modelo mais prático poste ai =D

Abraços e até a próxima.
Mateus Antunes
Mateus Antunes
MBASistemas




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq