Super EU 0 Denunciar post Postado Setembro 29, 2004 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
xscully 0 Denunciar post Postado Setembro 29, 2004 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