Eric Freitas Postado Outubro 18, 2007 Denunciar Share Postado Outubro 18, 2007 if($pagina > 0) { $menos = $pagina - 1; $url = $_SERVER["PHP_SELF"]."?sec=legislativa&tipo=".$_GET['tipo']."&pagina=".$menos; echo "<a href=\"$url\">Anterior</a>"; }else echo'Anterior'; for($_i = 0;$_i<$paginas-5; $_i++) { $url = $_SERVER["PHP_SELF"]."?sec=legislativa&tipo=".$_GET['tipo']."&pagina=".$_i; if($_i==0) $_link=1; else $_link=$_i+1; echo " | <a href=\"$url\">". $_link ."</a> |"; } if($pagina < $paginas-5) { $mais = $pagina + 1; $url = $_SERVER["PHP_SELF"]."?sec=legislativa&tipo=".$_GET['tipo']."&pagina=".$mais; echo " <a href=\"$url\">Próxima</a>"; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kinzinho Postado Outubro 18, 2007 Denunciar Share Postado Outubro 18, 2007 (editado) Exemplo de paginaçãofunction exibeTodas() { global $titulo; global $foto; global $data; global $id; global $pagina; /* Agor vai complicar porque rola paginação e é um pé no saco paginação! */ // define o número de registros exibidos por página $num_por_pagina = 3; // descubre o número da página que será exibida // se o numero da página não for informado, definir como 1 if (!$pagina) { $pagina = 1; } // query $sql = "SELECT COUNT(*) FROM fotos"; list($total_usuarios) = mysql_fetch_array(mysql_query($sql)); $total_paginas = $total_usuarios/$num_por_pagina; $prev = $pagina - 1; $next = $pagina + 1; // se página maior que 1 (um), então temos link para a página anterior if ($pagina > 1) { $prev_link = "<a href=\"$PHP_SELF?pagina=$prev\">Anterior</a>"; } else { // senão não há link para a página anterior $prev_link = "Anterior"; } // se número total de páginas for maior que a página corrente, então temos link para a próxima página if ($total_paginas > $pagina) { $next_link = "<a href=\"$PHP_SELF?pagina=$next\">Próxima"; } else { // senão não há link para a próxima página $next_link = "Próxima"; } $total_paginas = ceil($total_paginas); $painel = ""; for ($x=1; $x<=$total_paginas; $x++) { if ($x==$pagina) { // se estiver na página corrente, não exibir o link para visualização desta página $painel .= "[$x] "; } else { $painel .= " <a href=\"$PHP_SELF?pagina=$x\">[$x]</a>"; } } // exibir painel na tela echo "<div class=\"paginacao\">"; echo "$prev_link | $painel | $next_link</a><td><tr>"; echo "</div>"; // construi uma cláusula SQL "SELECT" que nos retorne somente os registros desejados // definir o número do primeiro registro da página. Faça a continha na calculadora que você entenderá minha fórmula. $primeiro_registro = ($pagina*$num_por_pagina) - $num_por_pagina; // consulta apenas os registros da página em questão utilizando como auxílio a definição LIMIT. // Ordene os registros pela quantidade de pontos. $sql = "SELECT * FROM fotos ORDER BY id_fotos DESC LIMIT $primeiro_registro, $num_por_pagina"; // executar query $res = mysql_query($sql); echo "<br>"; // exiba os registros na tela while ($lista = mysql_fetch_array($res)) { //converte data $data = substr($lista['fotos_data'],8,2) . "/" .substr($lista['fotos_data'],5,2) . "/" . substr($lista['fotos_data'],0,4); $id = $lista['id_fotos']; $titulo = $lista['fotos_titulo']; $foto = $lista['fotos_foto']; /* Concateno a exibição de 1 foto */ $exibicao = "<td>"; $exibicao .= "<div align=\"center\" class=\"fotoslink\">"; $exibicao .= "<a href=\"fotos.php?id=$id\" alt=\"Clique aqui e veja mais!\">"; $exibicao .= "<b>$titulo...</b> <br>"; $exibicao .= "<img src=\"fotos/" .$foto. ".jpg\" widith=\"70\" height=\"70\" border=\"0\">"; $exibicao .= "<br>"; $exibicao .= "$data"; $exibicao .= "</a>"; $exibicao .= "<br><br>"; $exibicao .= "</div>"; /* Loop para exibir 3 fotos por linha */ echo "$exibicao"; } } Editado Outubro 18, 2007 por ESerra Utilize as tags [code] [/code] Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Eric Freitas
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.