Jump to content


Photo

Paginação Inteligente


  • Faça o login para participar
Nenhuma resposta neste tópico

#1 mariom

mariom

    Turista

  • Usuários
  • 53 posts
  • Sexo:Não informado

Posted 11/05/2006, 14:14

fala galera
achei esse código ai no fórum... código do Paulo Freitas e Eclesiastes
mas não consigo arrumar um problema
aparece de 10 em 10 normal mas não está voltando
por exemplo clico no 10
aparece [10] 11 12 13 14 15 16 17 18 19 20

como faço para voltar para o 9 e ver o 1 2 3 ........

$db=mysql_connect("localhost","root","root");
$basedados=mysql_select_db("phpbb2");
$pg = $_GET['pg'];
if ($pg==null) $pg = "1";
 $registros=2; // Registros por página
$ini=($pg-1)*$registros;
$busca=mysql_query("SELECT * FROM phpbb_smilies LIMIT ".$ini.",".$registros);
$conta=mysql_query("SELECT * FROM phpbb_smilies ");
//Quantidade total de páginas
$total = mysql_num_rows($conta);
$total = ceil($total/$registros);
if ($pg > $total){
echo "inexistente";
exit;
}



//Verificando para deixar de 10 em 10
if (((strlen($pg)>1) and (substr($pg, -1)!=0)) or ((strlen($pg)==1) and (substr($pg, -1)!=1))) {
   //somando...
   for ($i=1;$i<=9;$i++) {
	  $fim = $pg+$i;
		 if (substr($fim, -1)==0)  break;
   }
   //subtraindo...
   for ($o=1;$o<=9;$o++) {
	  $inicio = $pg-$o;
	  if (strlen($pg)==1)
		 if (substr($inicio, -1)==1)  break;
	  if (strlen($pg)>1)
		 if (substr($inicio, -1)==0)  break;
   }

} else {
   $inicio = $pg;
   if (strlen($pg)==1)
	  $fim = $pg+9;
   else
	  $fim = $pg+10;
}

//Exibindo a paginação
for ($num=$inicio;$num<=$fim;$num++) {
   //deixando negrito quando for a página atual
   if ($pg==$num)
	  echo ' <b>['.$num.']</b> ';
   else
	  echo '<a href="?pg='.$num.'"> '.$num.'</a>';
   //Parar quando chegar ao total de páginas
   if ($num==$total) break;
}


echo "<table border=0 cellspacing=0 cellpadding=0><tr><td>";
echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"2\" class=\"comum\">";
echo "<tbody>";
echo "<tr>";
echo "<td align=left width=\"200\"><strong>ID</strong></td>";
echo "<td align=left width=\"100\"><strong>Nome</strong></td>";
echo "</tr>\n";

while ($x=@mysql_fetch_array($busca)) {
echo "<tr>\n";
echo "<td align=left width=\"200\">".$x['smilies_id']."</td>\n";
echo "<td align=left width=\"100\">".$x['code']."</td>\n";
}
echo "</tr>";
echo "</tbody>";
echo "</table>";
echo "</tr>";
echo "</tbody>";
echo "</table>";
echo "<br />";
?>


será que alguém pode ajudar?

Edição feita por: mariom, 11/05/2006, 14:13.





1 user(s) are reading this topic

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

IPB Skin By Virteq