Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lifeTechnicolor

Estilo paginação

Recommended Posts

Após muita procura encontrei uma classe boa para paginação, no entanto nao estou a conseguir adaptar o modo como as paginas sao mostradas.

Ele mostra todas as páginas de seguida tipo:  « anterior [1][2][3][4][5][6][7] próximo ».

Mas se forem muitas páginas torna-se complicado percorrer uma a uma...

Alguem sabe como adaptar a ficar tipo: « anterior [5][6][7][8] próximo »

 

<?php
        $quant_pg = ceil($quantreg/$numreg);
        $quant_pg++;
        
        // Verifica se esta na primeira página, se nao estiver ele libera o link para anterior
        if ( $pg > 0) { 
                echo "<a href=".$PHP_SELF."?pg=".($pg-1) ."&busca=$busca class=pg><b>« anterior</b></a>";
        } else { 
                echo "<font color=#CCCCCC>« anterior</font>";
        }
        
        // Faz aparecer os numeros das página entre o ANTERIOR e PROXIMO
        for($i_pg=1;$i_pg<$quant_pg;$i_pg++) { 
                // Verifica se a página que o navegante esta e retira o link do número para identificar visualmente
                if ($pg == ($i_pg-1)) { 
                        echo " <span class=pgoff>[$i_pg]</span> ";
                } else {
                        $i_pg2 = $i_pg-1;
                        echo " <a href=".$PHP_SELF."?pg=$i_pg2&busca=$busca class=pg><b>$i_pg</b></a> ";
                }
        }
        
        // Verifica se esta na ultima página, se nao estiver ele libera o link para próxima
        if (($pg+2) < $quant_pg) { 
                echo "<a href=".$PHP_SELF."?pg=".($pg+1)."&busca=$busca class=pg><b>próximo »</b></a>";
        } else { 
                echo "<font color=#CCCCCC>próximo »</font>";
        }
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi o mistério em torno disso.

Basta você verificar se a página existe e dar um echo.

 

Vou colar o modo que fiz em linguagem estruturada quando utilizava, há pouco tempo atrás. Adapte ao seu sistema.

 

if ($totalGeral>$quantidadeRegistrosPorPagina) {
				$URI = URI.'br/'.PAG.'/';
				$paginacao = '
				<div class="paginacao">
					<ul>';
						$paginacao .= ($paginaAtual>1) ? '<li><a href="'.$URI.'1">Primeira</a></li>' : NULL;
						$paginacao .= ($paginaAtual>1) ? '<li><a href="'.$URI.($paginaAtual-1).'">Anterior</a></li>' : NULL;
						$paginacao .= ($paginaAtual>3) ? '<li><a href="'.$URI.($paginaAtual-3).'">'.($paginaAtual-3).'</a></li>' : NULL;
						$paginacao .= ($paginaAtual>2) ? '<li><a href="'.$URI.($paginaAtual-2).'">'.($paginaAtual-2).'</a></li>' : NULL;
						$paginacao .= ($paginaAtual>1) ? '<li><a href="'.$URI.($paginaAtual-1).'">'.($paginaAtual-1).'</a></li>' : NULL;
						$paginacao .= '<li><a href="#" class="atual">'.$paginaAtual.'</a></li>';
						$paginacao .= (($paginaAtual+1)<=$totalPaginas) ? '<li><a href="'.$URI.($paginaAtual+1).'">'.($paginaAtual+1).'</a></li>' : NULL;
						$paginacao .= (($paginaAtual+2)<=$totalPaginas) ? '<li><a href="'.$URI.($paginaAtual+2).'">'.($paginaAtual+2).'</a></li>' : NULL;
						$paginacao .= (($paginaAtual+3)<=$totalPaginas) ? '<li><a href="'.$URI.($paginaAtual+3).'">'.($paginaAtual+3).'</a></li>' : NULL;
						$paginacao .= (($paginaAtual+1)<=$totalPaginas) ? '<li><a href="'.$URI.($paginaAtual+1).'">Próxima</a></li>' : NULL;
						$paginacao .= ($paginaAtual<$totalPaginas) ? '<li><a href="'.$URI.$totalPaginas.'">Última</a></li>' : NULL;
						$paginacao .= '
					</ul>
				</div>
				';
				echo $paginacao;
			}

Exemplo: http://www.julianejulianoesovanerao.com.br/v2/mural

A paginação do mural.

 

Depois é só aplicar CSS na lista.

 

Até mais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.