Ir para conteúdo

Arquivado

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

Super EU

Contador de paginas (MySQL)

Recommended Posts

Fala ae galerinha, beleza ?

 

tipo, seguinte... to fazendo um eskeminha tipo livro de visitas, e ele faz assim:

 

ele mostra 10 mensagens por pagina

e gera um link "proxima" sempre que hover mais de 10 mensagens no DB

 

a duvida é o segunte

 

como que eu faço pra gerar paginas de acordo com a quantidade de mensagens escritas...

 

por exemplo...

 

se tiver 100 mensagens, ele gera uma barra assim

 

Pag = 1 2 3 4 5 6 7 8 9 10

 

com os links para as paginas, e se tiver 20 mensagens, ele dexa assim

 

Pag = 1 2

 

Entenderam mais ou menos ? eu sei que é usando uma strutura de repetição, mais eu naum consegui... alguem pode me ajudar ?

 

Valeu http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

não testei.. achei no phpbrasil.com

http://www.phpbrasil.com/articles/article....gerRow/1/id/245

 

Paginação quase completa....

publicado por Alexandre Correa (não autenticado) - 2002-07-31 15:02:22

 

Opa..

Utilizando seu tutorial, incrementei um pouco as funções e deixei no estilo do sistema de paginação do PHPBRASIL:

 

<-anterior (1 2 3 4 5) proximo ->

 

segue o codigo do meu script completo:

 

PHP [/tr][tr]<table width="50%" cellpadding="0" cellspacing="1" border="0">

  <tr bgcolor="#E4E4E4">

    <td colspan="5" align="center"><font face="verdana" color="#999999" size="-1">Acessos

        ao SIGA Remote via Web</font></td>

  </tr>

  <tr bgcolor="#E4E4E4">

    <td align="center" width="32"><font face="verdana" color="#999999" size="-2">ID</font></td>

    <td align="center"><font face="verdana" color="#999999" size="-2">Data</font></td>

    <td align="center"><font face="verdana" color="#999999" size="-2">Hora</font></td>

    <td align="center"><font face="verdana" color="#999999" size="-2">Ip</font></td>

    <td align="center"><font face="verdana" color="#999999" size="-2">Ip2</font></td>

  </tr>

  <?

include("./includes/db.inc.php");

if (!isset($x)) { $x = "1"; }

$inicio = $x - 1;

$inicio = $inicio * 50;

$qdef = "SELECT * FROM microsiga ORDER BY id";

$sql = mysql_query("$qdef LIMIT $inicio,50", $db);

$todos = mysql_query($qdef,$db);

$tr = mysql_num_rows($todos);

$tp = ceil($tr / 50);

while ($row = mysql_fetch_array($sql)) {

?>

  <tr bgcolor="#ECECEC">

    <td align="center" width="32"><font face="verdana" color="#CC0000" size="-2"><? echo $row[id]; ?></font></td>

    <td align="center"><font face="verdana" color="#CC0000" size="-2"><? echo $row[data]; ?></font></td>

    <td align="center"><font face="verdana" color="#CC0000" size="-2"><? echo $row[hora]; ?></font></td>

    <td align="center"><font face="verdana" color="#CC0000" size="-2"><? echo $row[ip]; ?></font></td>

    <td align="center"><font face="verdana" color="#CC0000" size="-2"><? echo $row[ip2]; ?></font></td>

  </tr>

  <?

}

?>

</table>

<?

$anterior = $x - 1;

$proximo = $x + 1;

if ($x > 1) {

    echo "<font face=\"verdana\" color=\"#666666\" size=\"-2\"><a href='?x=$anterior'><- Anterior</a></font> ";

}

if ($tr > 50) {

    ?>

    <font face="verdana" color="#666666" size="-2">(</font><font face="verdana" color="#CC0000" size="-2">

    <?

    for ($d=1;$d <= $tp; $d++) {

        if ($x == $d) { $pages = $pages . $d . " "; }

        else { $pages = $pages . "<a href=\"?x=$d\">$d</a>" . " "; }

    }

    echo $pages;

    ?>

    </font><font face="verdana" color="#666666" size="-2">)</font>

    <?

}

if ($x < $tp) {

    echo " <font face=\"verdana\" color=\"#666666\" size=\"-2\"><a href='?x=$proximo'>Próxima -></a></font>";

}

echo "<BR><font face=\"verdana\" color=\"#666666\" size=\"-2\">Página $x de $tp página(s)</font>";

?>

[/tr]

 

DICA: a função CEIL() arredonta o resultado para o proximo valor inteiro ex:

150 itens, apresentando 50 por paginas, o que dariam 3.6 páginas.. usando o ceil ele arrendonda para 4 ...

 

Até,

Alexandre Correa

www.scripter.com.br

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.