Gastro 1 Denunciar post Postado Outubro 22, 2010 Galera.. segue minha contribuição Depois de muito me estressar com paginação nos sistemas, sempre fazendo gambiarras, montei essa função simples, com ela só alteramos a chamada da função. Qualquer problema ou sugestão posta ai <style> .paginacao { padding: 7px; text-align: center; margin-left: -5px; } .paginacao a:link, .paginacao a:visited, .paginacao a:active { border: 1px solid; padding: 2px 5px 2px 5px; border-top-color: #F90; border-right-color: #F90; border-bottom-color: #F90; border-left-color: #F90; margin: 4px; color: #000; text-decoration: none; } .paginacao a:hover { border: 1px solid; border-top-color: #F90; border-right-color: #F90; border-bottom-color: #F90; border-left-color: #F90; color: #000; background: #FFE1C4 ; } .paginacao span.current { border: 1px solid; border-top-color: #F90; border-right-color: #F90; border-bottom-color: #F90; border-left-color: #F90; padding: 2px 5px 2px 5px; font-weight: bold; margin: 2px; color: #FFF; background: #F60; } </style> <?php /* função de paginação Desenvolvimento Edson edson@mlml.com.br $tabela = tabela que deseja ler os dados $where = se tem alguma condição na paginação, exemplo de uso "where status = 'a' and cod = 1" $itensPorPag = quantidade de resultados por pagina, se não informar, ele assume 10 $url = Url da pagina, até o numero dela $htmli = html insetido antes de qualquer numero de pagina ex: <li class=\"li-paginacao\"> $htmlf = html insetido depois de qualquer numero de pagina ex: </li> $pagAtual = variável da pagina atual $mostraPrieUlt = mosta a primeira, e ultima pagina, informe 1 para "ativar" $numLinks = numero de paginas antes e depois da pagina selecionada $classeIni = Codigo html que fica antes de qualquer link ex: <div class=\"paginacao\"> $classeFim = Codigo html que fica depois de todos os links ex: "</div>" $currentI = Codigo html que fica antes da pagina selecionada $currentF = Codigo html que fica depois da pagina selecionada */ function paginacao($tabela, $where, $itensPorPag, $url, $htmli, $htmlf, $pagAtual, $mostraPrieUlt, $numLinks, $classeIni, $classeFim, $currentI, $currentF){ echo $classeIni; if(!$pagAtual){ $pagAtual = 1; } if(!$itensPorPag){ $itensPorPag = 10; } if(!$tabela){ echo "<h1>informe a tabela</h1>"; exit; } $sql = mysql_query("select count(*) from $tabela $where")or die ("MySQL error: ".mysql_errno()." ".mysql_error()); if(mysql_num_rows($sql)){ $total = mysql_result($sql,0,0); $totalPag = ceil($total/$itensPorPag); if($totalPag > 1){ if($pagAtual > 1){ $anterior = $pagAtual-1; echo "<a href=\"$url$anterior\">$htmli<$htmlf</a>"; } if($mostraPrieUlt && $pagAtual > $numLinks+1){ echo "<a href=\"$url"."1"."\">$htmli"."1"."$htmlf</a>..."; } // anteriores for($i=$pagAtual-$numLinks;$i<=$pagAtual;$i++){ if($i != $pagAtual){ if($i >= 1){ echo "<a href=\"$url$i\">$htmli$i$htmlf</a>"; } } } echo "$currentI$pagAtual$currentF"; // proximas for($i=$pagAtual;$i<=$pagAtual+$numLinks;$i++){ if($i <= $totalPag){ if($i != $pagAtual){ echo "<a href=\"$url$i\">$htmli$i$htmlf</a>"; } } if($i == $totalPag){ $chegouFinal = 1; } } } } if($mostraPrieUlt && !$chegouFinal){ echo "...<a href=\"$url$totalPag\">$htmli$totalPag$htmlf</a>"; } if($pagAtual < $totalPag){ $proxima = $pagAtual+1; echo "<a href=\"$url$proxima\">$htmli>$htmlf</a>"; } echo $classeFim; } $itensPorPag = 15; echo paginacao("hora", $where, $itensPorPag, "paginacao.php?pag=", $htmli, $htmlf, $pag, 1, 3, "<div class=\"paginacao\">", "</div>", "<span class=\"current\">", "</span>"); $limit = "limit ".ceil(($pag-1)*$itensPorPag).", $itensPorPag"; echo "<br /><br /> testando....."; $sql = mysql_query("select * from hora $limit"); while($dados=mysql_fetch_array($sql)){ echo $dados[id]."<br />"; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Outubro 22, 2010 cara, acho que dava para simplificar mais.. http://code.imasters.com.br/index.php?/topic/93-paginacao-com-ordenacao-nos-headers-das-colunas/ vou rodar o teu codigo, para ver oque ele faz. Compartilhar este post Link para o post Compartilhar em outros sites
pulao 0 Denunciar post Postado Janeiro 8, 2011 codigo to tentando entender, mas essa parte que está comentada , eu devo altera-la? e essa table hora?? nao entendi o pq dela Compartilhar este post Link para o post Compartilhar em outros sites
Bobrinha 4 Denunciar post Postado Abril 10, 2012 Amigo poderia explicar mais esse codigo? não consegui entender ele direito? é possivel paginar em 2 colunas em uma tabela? Compartilhar este post Link para o post Compartilhar em outros sites