Jump to content


Photo

Erro Na Paginação


  • Faça o login para participar
4 replies to this topic

#1 Marfioso

Marfioso

    ... Minha Vida ...

  • Banidos
  • PipPipPip
  • 271 posts
  • Sexo:Não informado
  • Localidade:Maceió - Alagoas

Posted 21/09/2003, 14:21

galera, eu tenho essa paginação:


<?

include ("/home/webcindario/supergames/downloads/config.php");

$conexao = mysql_connect ("$host", "$login_db", "$senha_db");
$db = mysql_select_db("$database");
$tabela = "downloads_demo";

$busca = "SELECT * FROM $tabela";
$total_reg = "2"; // número de registros por página
if (!$pagina) {
    $pc = "1";
} else {
    $pc = $pagina;
}
$inicio = $pc - 1;
$inicio = $inicio * $total_reg;
$limite = mysql_query("$busca LIMIT $inicio,$total_reg");
$todos = mysql_query("$busca");

$tr = mysql_num_rows($todos); // verifica o número total de registros
$tp = $tr / $total_reg; // verifica o número total de páginas

// vamos criar a visualização
while ($a = mysql_fetch_array($limite)) {
    $nome = $a["nome"];
    $descricao = $a["descricao"];
    $codigo = $a["codigo"];
    $clicks = $a["clicks"];


echo "<p align=center>";            
echo "<table border=1 width=262 height=137>";
echo "<tr>";
echo "<td width=262 height=22 valign=top colspan=2 bgcolor=#0000FF>";
echo "<center><font color=#FFFFFF>$nome</font><center></td>";
echo "</tr>";
echo "<tr>";
echo "<td width=122 height=103 valign=top rowspan=3 bgcolor=#C2CFDF>";
echo "<font face=Tahoma size=2>Descrição:<br>$descricao</font></td>";
echo "<td width=124 height=46 valign=top bgcolor=#C2CFDF>&nbsp;</td>";
echo "</tr>";
echo "<tr>";
echo "<td width=124 height=25 valign=top bgcolor=#C2CFDF>";
echo "<a href=.$PHP_SELF?id=$codigo>Download!</a></td>";
echo "</tr>";
echo "<tr>";
echo "<td width=124 height=24 valign=top bgcolor=#C2CFDF>";
echo "<font size=2 face=Tahoma><b>Clicks</b>: $clicks</font></td>";
echo "</tr>";
echo "</table>";
echo "<br><br>";
echo "</p>";
}


// agora vamos criar os botões "Anterior e próximo"
$anterior = $pc -1;
$proximo = $pc +1;
$pi = $flag1 * $intervalo;
if ($pi == "0") {
    $pi = "1";
}
$pf = $pi + $intervalo - 1;
if ($pc > 1) {
    echo " <a href='?pagina=$anterior'><- Anterior</a> ";
}
echo "|";
for ($pi; $pi < $pf; $pi++) {
    // Se número da página for menor que total de páginas
    if ($pi <= $tp) {
        if ($pc == $pi) {
            // se página atual for igual a página selecionada
            echo "<b>[" . $pi . "]</b>&nbsp;";
        } else { 
            // se for diferente, aparece o link para a página
            echo "<a href='?pagina=" . $pi . "'>" . $pi . "</a>&nbsp;";
        }
    }
}
echo "|";
if ($pc < $tp) {
    echo " <a href='?pagina=$proximo'>Próxima -></a>";
}
?>

mas só q a paginação tá assim:

<- Anterior || Próxima ->

não tá numerando as página, q no caso era pra tá assim:

<- Anterior |[1][2][3]| Próxima ->

vejam a página:
http://supergames.we...io.com/demo.php

como eu concerto isso?
· Marfioso
· Membro WMONLINE
| Regras do Fórum · Warn System
· Não faça perguntas por MP ou E-Mail. Elas só ajudam a você
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
"Sem saber que era possivél, ele foi lá e fez"

#2 paes

paes

    GustavoPaes.Net

  • Usuários
  • 1393 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Rumo ao topo!

Posted 21/09/2003, 14:44

tenta usar este:

<?
$conexao = mysql_connect("dbhost", "dbuser", "dbpasswd");
$db = mysql_select_db("dbname");
$sql = mysql_query("SELECT * FROM posts ORDER BY ID DESC");

$lpp = 5; // Especifique quantos resultados você quer por página
$total = mysql_num_rows($sql); // Esta função irá retornar o total de linhas na tabela
$paginas = ceil($total / $lpp); // Retorna o total de páginas
if(!isset($pagina)) { $pagina = 0; } // Especifica uma valor para variavel pagina caso a mesma não esteja setada
$inicio = $pagina * $lpp; // Retorna qual será a primeira linha a ser mostrada no MySQL
$sql = mysql_query("SELECT * FROM posts ORDER BY ID DESC LIMIT $inicio, $lpp"); // Executa a query no MySQL com o limite de linhas.

while($linha = mysql_fetch_array($sql)) {
$CAMPOS= $linha["CAMPOS"];
$CAMPOS= $linha["CAMPOS"];

echo "
EXIBE CONTEÚDO
";
} 

if($pagina > 0) {
   $menos = $pagina - 1;
   $url = "$PHP_SELF?pagina=$menos";
   echo "<a href='$url'>Anterior</a>"; // Vai para a página anterior
}
for($i=0;$i<$paginas;$i++) { // Gera um loop com o link para as páginas
   $url = "$PHP_SELF?pagina=$i";
   echo " | <a href='$url'>$i</a>";
}
if($pagina < ($paginas - 1)) {
   $mais = $pagina + 1;
   $url = "$PHP_SELF?pagina=$mais";
   echo " | <a href='$url'>Próxima</a>";
}
?>

Site: GustavoPaes.net

^ Rumo ao Topo ^

#3 Marfioso

Marfioso

    ... Minha Vida ...

  • Banidos
  • PipPipPip
  • 271 posts
  • Sexo:Não informado
  • Localidade:Maceió - Alagoas

Posted 21/09/2003, 15:26

muito obrigado |paes|, mas só uma coisinha:
tá assim:
[0][1][2][3]
num tem como ficar assim não:
[1][2][3][4]?
· Marfioso
· Membro WMONLINE
| Regras do Fórum · Warn System
· Não faça perguntas por MP ou E-Mail. Elas só ajudam a você
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
"Sem saber que era possivél, ele foi lá e fez"

#4 paes

paes

    GustavoPaes.Net

  • Usuários
  • 1393 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Rumo ao topo!

Posted 21/09/2003, 16:10

tem...
mas não estou no meu pc e não tenho como testar...
mas quando conseguir eu ponho aki... ou se algum user já tiver feito posta ai pra ele... flw ;)
Site: GustavoPaes.net

^ Rumo ao Topo ^

#5 thalesalan

thalesalan
  • Visitantes

Posted 21/09/2003, 16:59

tah ai pra começar do 1
[QUOTE]
<?
$conexao = mysql_connect("dbhost", "dbuser", "dbpasswd");
$db = mysql_select_db("dbname");
$sql = mysql_query("SELECT * FROM posts ORDER BY ID DESC");

$lpp = 5; // Especifique quantos resultados você quer por página
$total = mysql_num_rows($sql); // Esta função irá retornar o total de linhas na tabela
$paginas = ceil($total / $lpp); // Retorna o total de páginas
if(!isset($pagina)) { $pagina = 0; } // Especifica uma valor para variavel pagina caso a mesma não esteja setada
$inicio = $pagina * $lpp; // Retorna qual será a primeira linha a ser mostrada no MySQL
$sql = mysql_query("SELECT * FROM posts ORDER BY ID DESC LIMIT $inicio, $lpp"); // Executa a query no MySQL com o limite de linhas.

while($linha = mysql_fetch_array($sql)) {
$CAMPOS= $linha["CAMPOS"];
$CAMPOS= $linha["CAMPOS"];

echo"<center><font face='Verdana' size='1'>";
if ($pagina > 0) {
$menos = $pagina - 1;
$url = "$PHP_SELF?pagina=$menos";
print "<a href=\"$url\">&laquo; Anterior</a>";
} else {
print "&laquo; Anterior";
}

for($i = 0; $i < $paginas; $i++) {
$linksp = $i + 1;
if ($pagina == $i) {
print " | <b>$linksp</b>";
} else {
$url = "$PHP_SELF?pagina=$i";
print " | <a href=\"$url\">$linksp</a>";
}
}

if($pagina < ($paginas - 1)) {
$mais = $pagina + 1;
$url = "$PHP_SELF?pagina=$mais";
print " | <a href=\"$url\">Pr&oacute;xima &raquo;</a>";
} else {
print " | Pr&oacute;xima &raquo;";
}
?>

[/CODE]
espero ter ajudado,
Thales Alan




1 user(s) are reading this topic

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

IPB Skin By Virteq