+1

Paginação profissional

criado por Wilson Aguiar Gutierrez em 22/01/2004 12:01pm
exibe no formato :

<<< Anterior | 1 | 2 | 3 | 4 | 5 | [6] | 7 | 8 | 9 | 10 | 11 | Próxima >>>
Data Autor Changelog Download
22/01/2004 12:01pm Wilson Aguiar Gutierrez - Versão 0.1
01/10/2004 4:59pm Wilson Aguiar Gutierrez Versão 0.2 Versão 0.2

Comentários:

Mostrando 1 - 9 de 9 comentários
ótimo script
31/01/2008 12:14pm (~8 anos atrás)

Cézar Ayran disse:
ai meu brow essa nova versão q vc postou ñ funciona! se ligue no cálculo dessa aqui o endereço p ver ela funcionando: http://www.diamantes.festlojas.com só que tá meio doida sabe... pq ele só mostra os 7 nº no cálculo q vc fez dai eu fui mechendo rsrs e cosegui aumentar porém ta todo doido eu não sei como é a proporção tentei de várias maneiras mas enfim o código é esse ai o que voce postou se puder deixar ele com mais número e proporcionalmente vlw!:

<?
$conn = mysql_connect("localhost","fea","a");
$banco = mysql_select_db("fa");
$busca = "SELECT * FROM ds order by id desc";
$total_reg = "1";
$campo = "des,deo,o";

$pagina = $_GET['pagina'];
if (!$pagina) {
$pc = "1";
} else {
$pc = $pagina;
}
$inicio = $pc-1;
$inicio = $inicio*$total_reg;

$limite = mysql_query("$busca LIMIT $inicio,$total_reg"); // busca no banco de dados
$todos = mysql_query("$busca");
$maxRec = mysql_num_rows($todos);
$tr = mysql_num_rows($todos); // verifica o número total de registros
$tp = $tr / $total_reg; // verifica o número total de páginas
$tp = (int) $tp; // Tira os quebrados do resultado
if ($tp!=($tr / $total_reg)) { $tp++; } // ajusta a amostragem das paginas
while($dados = mysql_fetch_array($limite)) { // monta a pagina solicidada
$cor = ($coralternada++ %2 ? "FFFFFF" : "E5E5E5"); // Mostra resultado com cores alternadas
$diamantes = $dados[diamantes];
$descricao = $dados[descricao];
$outro = $dados[outro];

print "<center><head></head><table border=\"0\" width=\"48%\" cellspacing=\"0\" cellpadding=\"0\"><tr> <td><p align=\"center\"><img border=\"0\" src=\"$diamantes\"></td> </tr> <tr> <td> <p align=\"center\"><font color=\"#2E9BB9\">Descrição</font></td> </tr><tr><td><p align=\"center\"><font style=\"font-size: 15pt\" color=\"#72C5DC\">$descricao</font></td> </tr></table></center>";
}
echo "<br><br><br><center><font color=red>$maxRec</font> Diamantes do Orkut Cadastrados!</center><tr><td><br></td></tr><br>";

// Calcula o valor das paginas anterior e proxima

if ($tp > 1) {
echo "<tr><td bgcolor=#FFFFFF colspan=2><center>";
$anterior = $pc -1;
$proximo = $pc +1;
echo "<FONT SIZE=1 face=Verdana>";
if ($pc>1) { echo "<a href='?pagina=$anterior".$comp."'><<< Anterior</a> "; } else { echo "<<< Anterior"; }
echo " | ";

// aqui começa a parte mais chata, ele calcula os numeros do miolo da barra de paginação

if ($tp <= 23)
{ $cont1 = 1; $cont2 = $tp; }
else
{ if ($pc < 19 )
{ $cont1 = 1; $cont2 = 23; }
else
{ $cont2 = $pc + 18;
if ($cont2 > $tp)
{ $cont2 = $tp; }
$cont1 = $cont2 - 22;
}
}
$cont2++;
$cont=$cont1;

// feito os calculos, aqui monta-se o miolo da barra

while ($cont!=$cont2) {
IF ($pc==$cont){
ECHO (" <font color=red>[$cont]</font> | ");
} ELSE {
ECHO (" <A HREF=\"?pagina=$cont".$comp."\">$cont </A> | ");
}
$cont++;
}
if ($pc<$tp) {
echo " <a href='?pagina=$proximo".$comp."'>Próxima >>></a>";
} else {
echo "Próxima >>>";
}
echo "</font>
</center></td></tr>";
}
?>
31/01/2008 10:31am (~8 anos atrás)

Cézar Ayran disse:
ae galera queria que paginasse isso aqui http://www.festlojas.com/ploft.php?pg=rapidinhas

tipo ai é tudo manual e as paginações q eu vi pede o SQL :( se alguém puder me ajudar a fazer com que eu crie um BD pra isso ai agradeço valeu!!!

MSN: afamilialegal@hotmail.com

http://www.festlojas.com
04/09/2007 3:11pm (~9 anos atrás)

Cara você é modesto rsrs, pra um primeiro script postado rs, abriu com chave de ouro, funfa sem erro nenhum, adaptei ele numa busca de imóveis e ficou perfeito, foi o primeiro que eu peguei que realmente ajudou ao invés de aborrecer rs. Valeu mesmo véio...
02/05/2007 11:41am (~9 anos atrás)

Desculpa mas eu tinha que falar rs, já faz muito tempo que eu procuro por uma paginação igual a essa, desisti várias vezes, e hoje em mais uma tentativa eu achei essa. Meus parabéns aí pro Wilson, muito construtivo o script, me tirou do sufoco...
02/05/2007 10:08am (~9 anos atrás)

Corrigindo esse ultimo bug ai que o Evaldo fez o script dah certo...bacana, vi um monte de script com esse tema, mas esse foi o unico q realmente fez o que eu estava procurando, falta alguns correções de melhoria, mas são só besteiras, tipo layout e outras informações para página tipo tempo de abertura apresentacao de total de pagina que tem, enfim, pouca coisa para mudar, mas o importante eh que está funcionando.
Assim que eu melhorar esses detalhes que mencionei eu envio para compartilhar com vcs.
abraços!
21/10/2006 9:33am (~10 anos atrás)

A versão 0.2 tem um bug:

Os links estão assim:
<a href='?p=$proximo".$comp."'

O correto é:
<a href='?pagina=$proximo".$comp."'

Outra coisa:
Para que serve a variável $comp? Não localizei a sua inicialização.
29/09/2005 9:19am (~11 anos atrás)

Eu já havia resolvido o bug, porque com determinado numero de paginas, a barra ficava perdida . eu já reformulei o codigo, e vou postar aqui logo em breve ..
01/10/2004 4:44pm (~12 anos atrás)

Rodrigo Alves disse:
Oi no final modifiquei a listagem de paginas ele so testava

if ($cont1<1) {
$cont1=1;
$cont2=50;
if ($tp<=50) {
$cont2=$tp;
}
}

e para funcionar o meu coloquei assim:

if ($cont1<1) {
$cont1=1;
$cont2=50;
if ($tp<=50) {
$cont2=$tp;
}
}


Mas obrigado mesmo to utilizando essa paginação nos meu codigos....FLW
01/10/2004 4:13pm (~12 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)