Victor Caldas 0 Denunciar post Postado Abril 2, 2008 Ta dando erro no ultimo registro.... tipo: eu mando listar 8 por pagina ai ele aparece 7 registro beleza, mas o oitavo fica zuado....assim em todas as paginas tipo Pg1 Pg2..... alguem pode me ajudar a resolver isso? desde já agradeço. Compartilhar este post Link para o post Compartilhar em outros sites
tomwp 0 Denunciar post Postado Maio 2, 2008 Olá Comunidade, fiz tudo certo..e deu certo http://forum.imasters.com.br/public/style_emoticons/default/grin.gif/> Com as alteracoes do Beraldo e do Orides Tomkiel o codigo funcionou 100%.. mas estou com umas duvidas... sempre fica a paginacao 1 a menos..como faço para deixar a paginacao certa conforme os numeros? e outro coisa eh...fica assim [1] 2 3 4 5..ai quando você clica no 5..fica assim 1 2 3 4 [5] 6 7 8 9...clica no 9 fica 5 6 7 8 [9] 10 11 12 13...e assim por diante.. queria deixar sempre 5 apenas.. quando clica no 5...fica do 6 ao 11...e assim por diante.. como faço? meu codigo esta assim: <?php $quant_pg = ceil($quantreg/$numreg); $quant_pg++; // Verifica se esta na primeira página, se nao estiver ele libera o link para anterior if ( $pg > 0) { echo "<a href=".$_SERVER['PHP_SELF'] ."?pg=".($pg-1) ."class=pg><b>« anterior</b></a>"; } else { echo "<font color=#CCCCCC>« anterior</font>"; } // Aqui começa a alteração // faz o controle da quantidade de paginas irá mostrar em números na paginação if (($pg - 3) < 1 ){ $ant = 1; } else { $ant = $pg - 3; } if (($pg + 6) > $quant_pg ) { $pos = $quant_pg; } else { $pos = $pg + 6; } // Faz aparecer os numeros das página entre o ANTERIOR e PROXIMO for($i_pg=$ant;$i_pg < $pos;$i_pg++) { // Aqui termina a alteração // Verifica se a página que o navegante esta e retira o link do número para identificar visualmente if ($pg == ($i_pg-1)) { echo " <span class=pgoff>[$i_pg]</span> "; } else { $i_pg2 = $i_pg-1; echo " <a href=".$_SERVER['PHP_SELF'] ."?pg=$i_pg2 class=pg><b>$i_pg</b></a> "; } } // Verifica se esta na ultima página, se nao estiver ele libera o link para próxima if (($pg+2) < $quant_pg) { echo "<a href=".$_SERVER['PHP_SELF'] ."?pg=".($pg+1)." class=pg><b>próximo »</b></a>"; } else { echo "<font color=#CCCCCC>próximo »</font>"; } ?> Obrigado - Tom http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif/> Compartilhar este post Link para o post Compartilhar em outros sites
tomwp 0 Denunciar post Postado Maio 2, 2008 Olá Comunidade! Deu certo aqui! Com ajuda novamente do Nicolas consegui resolver mais um problema q tive! Aqui vai um codigo que era a duvida q tinha...e soh fica sempre 5 na exibicao... <?php $quantidade = 10; $pagina = @$_GET["pagina"]; if (!is_numeric ($pagina)) {$pagina = 1;} $busca = mysql_query ("SELECT * FROM tabela"); $paginas = mysql_num_rows($busca); $totalderesultados = $paginas; $paginas = ceil ($paginas / $quantidade); if ($pagina > $paginas) {$pagina = $paginas;} $limite = (($pagina - 1) * $quantidade); if ($limite <= -1){ $limite = 0; } $busca = mysql_query ("SELECT * FROM tabela LIMIT $limite,$quantidade"); // o resto eh com vcs!!! ?> <?php $paginacaoa = (($pagina - 1) <= 0) ? "anterior" : "<a href=\"$link?pagina=" . ($pagina - 1) . "\">anterior</a>"; $paginacao .= (($pagina - 2) <= 0) ? "" : " | <a href=\"$link?pagina=" . ($pagina - 2) . "\">" . ($pagina - 2) ."</a>"; $paginacao .= (($pagina - 1) <= 0) ? "" : " | <a href=\"$link?pagina=" . ($pagina - 1) . "\">" . ($pagina - 1) ."</a>"; $paginacao .= " | <b>".$pagina."</b> | "; $paginacao .= (($pagina + 1) > $paginas) ? "" : " <a href=\"$link?pagina=" . ($pagina + 1) . "\">" . ($pagina + 1) ."</a> |"; $paginacao .= (($pagina + 2) > $paginas) ? "" : " <a href=\"$link?pagina=" . ($pagina + 2) . "\">" . ($pagina + 2) ."</a> |"; if ($pagina <= 2){ $paginacao .= (($pagina + 4) > $paginas) ? "" : " <a href=\"$link?pagina=" . ($pagina + 4) . "\">" . ($pagina + 4) ."</a> |"; } $paginacaop = (($pagina + 1) > $paginas) ? "proximo" : "<a href=\"$link?pagina=" . ($pagina + 1) . "\">proximo</a>"; ?> <div id="paginacao"> <div id="anterior"><?=$paginacaoa?></div> <div id="paginas"><?=$paginacao?></div> <div id="proximo"><?=$paginacaop?></div> </div> Tom Compartilhar este post Link para o post Compartilhar em outros sites
narizgudo 0 Denunciar post Postado Maio 5, 2008 Aproveitando a bocada, http://forum.imasters.com.br/index.php?showtopic=281505 ta aih meu script d paginação =D Compartilhar este post Link para o post Compartilhar em outros sites
Sttranho 0 Denunciar post Postado Julho 25, 2008 Cara, otimo script, simples e eficiente. O unico problema é que se as registes_globals estiverem desligadas ele da alguns problemas, mas nada que não seja facilmente resolvido. Valeu Sou novato, e ao ler o cometário ai, analisei o código e nao achei qual parte do código utiliza Resister globals, e gostaria de entender... e qual a correção para isso , neste código? Compartilhar este post Link para o post Compartilhar em outros sites
Guiziin 0 Denunciar post Postado Dezembro 22, 2008 primeiramente, meus parabéns wolfphw ;)/> seu código é de grande serventia pra muita gente aqui e inclusive pra mim.. hehe eu só precisava de uma coisinha no momento.. eu tenho um sistema de paginação funcionando belezinha :D/> agora, eu precisava fazer o seguinte: minha paginação é para um sisteminha de notas fiscais de transferências para obras que eu fiz, e eu precisava ordenar de diferentes formas os dados na paginação, exemplo: ordenar pela data, valor da nf, endereço da obra, nome da obra... eu até fiz alguma coisa aqui, eu consigo mudar a ordem, mas assim que eu clico pra mudar de página, volta na ordem inicial que é pelo número das nfs, pensei em usar session ou cookies, mas como eu não entendendo muuita coisa de php, eu não consegui nada 100% se você, ou alguém pudesse me ajudar, eu ficaria muito grato! abraço. Compartilhar este post Link para o post Compartilhar em outros sites
Déby Thomaz 0 Denunciar post Postado Janeiro 6, 2009 Olá pessoal, sou iniciante em PHP, mas trabalho a 20 anos com programação em diversas linguagens. Gostaria de agradecer pelo script de paginação, e eu dei um jeito nele já que ele apresentou alguns problemas. Agora, pelo menos aqui está 100%, com essas modificações. Se alguém verificar alguma coisa que derrepente poderia ser solucionada mais facilmente, com outro comando porfavor me digam, como já disse sou iniciante. Obrigado a todos. ---------------------------------------------------------- pag_curso.php <?php // Incluindo a conexão com o banco include('sgbd/conn.php'); //######### INICIO Paginação $numreg = 10; // Quantos registros por página vai ser mostrado if (!isset($pg)) { $pg = 0; } $inicial = @$_GET['pg'] * $numreg; //######### FIM dados Paginação // Faz o Select pegando o registro inicial até a quantidade de registros para página $sql = mysql_query("select * from cursos LIMIT $inicial, $numreg"); // Serve para contar quantos registros você tem na seua tabela para fazer a paginação $sql_conta = mysql_query("SELECT * FROM cursos"); $quantreg = mysql_num_rows($sql_conta); // Quantidade de registros pra paginação include("paginar_curso.php"); // Chama o arquivo que monta a paginação. ex: << anterior 1 2 3 4 5 próximo >> echo "<br><br>"; // Vai servir só para dar uma linha de espaço entre a paginação e o conteúdo while ($aux = mysql_fetch_array($sql)) { echo "<a href=" , $aux['endereco'] , ">" , $aux['descricao'], "</a>", "<br/>"; } ?> ---------------------------------------------------------- paginar_curso.php <style type="text/css"> <!-- .pgoff {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #FF0000; text-decoration: none} a.pg {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #003366; text-decoration: none} a:hover.pg {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #0066cc; text-decoration:underline} --> </style> <?php $quant_pg = ceil($quantreg/$numreg); $quant_pg++; // Verifica se esta na primeira página, se nao estiver ele libera o link para anterior if ( @$_GET['pg'] > 0) { echo "<a href=".$_SERVER['PHP_SELF']."?pg=".(@$_GET['pg']-1)." class=pg ><b>« Anterior</b></a>"; } else { echo "<font color=#CCCCCC>« anterior</font>"; } // Faz aparecer os numeros das página entre o ANTERIOR e PROXIMO for($i_pg=1; $i_pg<$quant_pg;$i_pg++) { // Verifica se a página que o navegante esta e retira o link do número para identificar visualmente if (@$_GET['pg'] == ($i_pg-1)) { echo " <span class=pgoff>[$i_pg]</span> "; } else { $i_pg2 = $i_pg-1; echo " <a href=".$_SERVER['PHP_SELF']."?pg=$i_pg2 class=pg><b>$i_pg</b></a> "; } } // Verifica se esta na ultima página, se nao estiver ele libera o link para próxima if ((@$_GET['pg']+2) < $quant_pg) { echo "<a href=".$_SERVER['PHP_SELF']."?pg=".(@$_GET['pg']+1)." class=pg ><b>próximo »</b></a>"; } else { echo "<font color=#CCCCCC>próximo »</font>"; } ?> Muito bom esse script. http://forum.imasters.com.br/public/style_emoticons/default/grin.gif/> Valeu mesmo ARN! Agora sim deu certo! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif/> Abraços. Compartilhar este post Link para o post Compartilhar em outros sites
wolfphw 60 Denunciar post Postado Janeiro 15, 2009 primeiramente, meus parabéns wolfphw ;)/> seu código é de grande serventia pra muita gente aqui e inclusive pra mim.. hehe eu só precisava de uma coisinha no momento.. eu tenho um sistema de paginação funcionando belezinha :D/> agora, eu precisava fazer o seguinte: minha paginação é para um sisteminha de notas fiscais de transferências para obras que eu fiz, e eu precisava ordenar de diferentes formas os dados na paginação, exemplo: ordenar pela data, valor da nf, endereço da obra, nome da obra... eu até fiz alguma coisa aqui, eu consigo mudar a ordem, mas assim que eu clico pra mudar de página, volta na ordem inicial que é pelo número das nfs, pensei em usar session ou cookies, mas como eu não entendendo muuita coisa de php, eu não consegui nada 100% se você, ou alguém pudesse me ajudar, eu ficaria muito grato! abraço. Bem meu amigo.. eu nesse meu script eu fiz uma vez um site que rpecisou disso, não tenho mais o script aki... mas fiz da seguinte forma... no titulo da GRID eu coloquei um campo que informa a ordenação.. se escolhe data ele manda lah ordenar=data, se for por registro ordernar=id.. e assim vai dai no codigo onde monta a paginação eu acrescentei lah pra ele colocar na URL esse campo a mais de informação... exemplo: lista.php?pg=5&ordernar=data Dai onde ele executa o SQL ele pega o valor desse ordernar... caso ele naum tenha nenhum valor ele pegaria por default a coluna de ID exemplo: if (!isset($ordernar)) { $ordernar = "ID"; } $sql = "SELECT * FROM tabela ORDER $ordernar"; bem naum sei se consegui resolver sua duvida.. mas eh por ai http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif/> Compartilhar este post Link para o post Compartilhar em outros sites
Litle Lyon 0 Denunciar post Postado Março 25, 2009 wolfphw Parabéns pelo codigo, Mas estou com um probleminha, a logica do seu codigo e de facil entendimento, mas no meu caso, está acontecendo algo de errado; Quando passo para as demais paginas , a paginação está retornando todos os registros do meu Banco. aXo que ela não está segurando a variavel de pesquisa, ae qdo a paginação passa pra proxima pagina, a query e executada sem varaivel de pesquisa, porisso retornando todo o banco. Tem ideia de como resolver esse pipino ??? Compartilhar este post Link para o post Compartilhar em outros sites
phs22 0 Denunciar post Postado Abril 30, 2009 Como eu faço para adaptar esta paginação em uma pagina com link assim pg_admin.php?page=pg_news quando eu clico em proximo vai para a pg_admin.php?pg=1 Vlw Compartilhar este post Link para o post Compartilhar em outros sites
Josue Webmaster 0 Denunciar post Postado Agosto 4, 2009 Como eu faço para adaptar esta paginação em uma pagina com link assim pg_admin.php?page=pg_news quando eu clico em proximo vai para a pg_admin.php?pg=1 Vlw pg_admin.php?page=pg_news&pg=1 Compartilhar este post Link para o post Compartilhar em outros sites
S t o n e 0 Denunciar post Postado Agosto 25, 2009 Cara alguma idéia de como fazer sem uso do register_globals? valeu Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Agosto 25, 2009 Use o $_GET Coloca um $pg = $_GET['pg'] lá no início dos scripts, que vai resolver o problema do autor ter escrito para register globals on. Compartilhar este post Link para o post Compartilhar em outros sites
S t o n e 0 Denunciar post Postado Agosto 25, 2009 Use o $_GET Coloca um $pg = $_GET['pg'] lá no início dos scripts, que vai resolver o problema do autor ter escrito para register globals on. É isso mesmo amigo, deu certo valeu! Compartilhar este post Link para o post Compartilhar em outros sites
Fleubito 0 Denunciar post Postado Outubro 7, 2009 Olá otimo esse tutorial, eu segui e rodo tdu 100%. mas tem um pequeno problema Ex. a minha tabela tem 22 registros, eu coloquei pra aparece 10 por pagina, dai ele aparece 2 pagina com 10, totalizando 20 registros mostrados, sendo q 2 ficam de fora. Como fasso pra aparece esse dois registros? Compartilhar este post Link para o post Compartilhar em outros sites
phs22 0 Denunciar post Postado Outubro 9, 2009 Vlw Josue Webmaster, só agora vi sua resposta. Alguém sabe com eu coloco um link para ir direto para ultima ou primeira página. Ex. Primeira Anterior ... 1 2 3 4 [5] 6 ... Próxima Ultima. Eu tentei aqui mais via sempre para uma pagina após a ultima. Compartilhar este post Link para o post Compartilhar em outros sites
chue 0 Denunciar post Postado Outubro 20, 2009 Olá a todos. Parabéns pelo script, me ajudou muito e creio que ajudará muita gente. Fiz uma modificação para resolver o problema do nosso amigo phs22 Como eu faço para adaptar esta paginação em uma pagina com link assim pg_admin.php?page=pg_news quando eu clico em proximo vai para a pg_admin.php?pg=1 Vlw No lugar de $_SERVER['PHP_SELF'] colocar $_SERVER['REQUEST_URI'], onde ele vai puxar direto o link da página atual. Abraço a todos. Compartilhar este post Link para o post Compartilhar em outros sites
drhouse 1 Denunciar post Postado Outubro 28, 2009 Alquém poderia me ajudar não está dando certo quando clico no proximo volta para apagina inicial se puder me dizer onde está o erro fico muito grato. busca.php <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post"> Palavra:<input type="text" name="palavra" size="22" maxlength="150"> <input type="submit" value="Buscar"> </form> <br> <br /> <?php //######### INICIO Paginação $numreg = 6; // Quantos registros por página vai ser mostrado if (!isset($pg)) { $pg = 0; } $inicial = $_GET['pg'] * $numreg; //######### FIM dados Paginação if(!empty($HTTP_POST_VARS[palavra])) { $busca = explode(' ', $HTTP_POST_VARS['palavra']); foreach($busca as $palavra){ // Faz o Select pegando o registro inicial até a quantidade de registros para página $sql = mysql_query("select * from img WHERE tag LIKE '%".$palavra."%' LIMIT $inicial, $numreg"); // Serve para contar quantos registros você tem na sua tabela para fazer a paginação $sql_conta = mysql_query("SELECT * FROM img WHERE tag LIKE '%".$palavra."%'"); $quantreg = mysql_num_rows($sql_conta); // Quantidade de registros pra paginação // conta quantos registros encontrados com a nossa especificação if ($quantreg == 0) { echo "Nenhum resultado para <b>$palavra</b>!<br><br>"; } // se houver um resultado diz que existe um resultado if ($quantreg == 1) { echo "$quantreg resultado encontrado para <b>$palavra</b>!<br><br>"; } // se houver um resultado diz que existe um resultado if ($quantreg > 1) { echo "$quantreg resultados encontrados para <b>$palavra</b>!<br><br>"; } include("paginacao.php"); // Chama o arquivo que monta a paginação. ex: << anterior 1 2 3 4 5 próximo >> echo "<br><br>"; // Vai servir só para dar uma linha de espaço entre a paginação e o conteúdo while ($aux = mysql_fetch_array($sql)) { ?> <table width="400" border="0" align="center"> <tr align="left"> <td><? echo "<a href=\"imagem.php?link=".$aux[imagem]."\"><img src='/upload/$aux[imagem]' width=100 height=100 border=0/></a><br>" ?></td> <td><?= $aux['tag']."<br>"; ?></td> </tr> </table> <? } } } ?> paginacao.php <style type="text/css"> <!-- .pgoff {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #FF0000; text-decoration: none} a.pg {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #003366; text-decoration: none} a:hover.pg {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #0066cc; text-decoration:underline} --> </style> <?php $quant_pg = ceil($quantreg/$numreg); $quant_pg++; // Verifica se esta na primeira página, se nao estiver ele libera o link para anterior if ( $pg > 0) { echo "<a href=".$PHP_SELF."?pg=".($pg-1) ."class=pg><b>« anterior</b></a>"; } else { echo "<font color=#CCCCCC>« anterior</font>"; } // Aqui começa a alteração // faz o controle da quantidade de paginas irá mostrar em números na paginação if (($pg - 3) < 1 ){ $ant = 1; } else { $ant = $pg - 3; } if (($pg + 6) > $quant_pg ) { $pos = $quant_pg; } else { $pos = $pg + 6; } // Faz aparecer os numeros das página entre o ANTERIOR e PROXIMO for($i_pg=$ant;$i_pg < $pos;$i_pg++) { // Aqui termina a alteração // Verifica se a página que o navegante esta e retira o link do número para identificar visualmente if ($pg == ($i_pg-1)) { echo " <span class=pgoff>[$i_pg]</span> "; } else { $i_pg2 = $i_pg-1; echo " <a href=".$PHP_SELF."?pg=$i_pg2 class=pg><b>$i_pg</b></a> "; } } // Verifica se esta na ultima página, se nao estiver ele libera o link para próxima if (($pg+2) < $quant_pg) { echo "<a href=".$PHP_SELF."?pg=".($pg+1)." class=pg><b>próximo »</b></a>"; } else { echo "<font color=#CCCCCC>próximo »</font>"; } ?> No caso o codigo exibe so o resultado buscado com o maximo de 6 por pagina caso tenha mais de 6 cria a paginação. Só que ao clicar em 2 volta para busca.php com resultado em branco. Compartilhar este post Link para o post Compartilhar em outros sites
gabrielribeiro_ 0 Denunciar post Postado Abril 20, 2010 Olá amigos do imaster, sou novo no forum e iniciante em programação.... Estou tendo uns problemas quanto ao uso de paginção... Tipo eu implementei esse script aki, fiz algumas alteraçoes mais quando eu fazo a pesquisa, uso 2 campos.... para pesquisar de uma data até certa data. Quando clico em pesquisar ele só mostra o último registro.. segue meu código abaixo para analise de vcs... preciso de ajuda hahaha paginação.php <style type="text/css"> <!-- .pgoff {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #FF0000; text-decoration: none} a.pg {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #003366; text-decoration: none} a:hover.pg {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #0066cc; text-decoration:underline} --> </style> <?php $quant_pg = ceil($quantreg/$numreg); $quant_pg++; // Verifica se esta na primeira página, se nao estiver ele libera o link para anterior if ( $_GET['pg'] > 0) { echo "<a href=".$_SERVER['PHP_SELF']."?pg=".($_GET['pg'] -1) ."&busca=$busca class=pg><b>« anterior</b></a>"; } else { echo "<font color=#CCCCCC>« anterior</font>"; } // Faz aparecer os numeros das página entre o ANTERIOR e PROXIMO for($i_pg=1;$i_pg<$quant_pg;$i_pg++) { // Verifica se a página que o navegante esta e retira o link do número para identificar visualmente if ($_GET['pg'] == ($i_pg-1)) { echo " <span class=pgoff>[$i_pg]</span> "; } else { $i_pg2 = $i_pg-1; echo " <a href=".$_SERVER['PHP_SELF']."?pg=$i_pg2&busca=$busca class=pg><b>$i_pg</b></a> "; } } // Verifica se esta na ultima página, se nao estiver ele libera o link para próxima if (($_GET['pg'] +2) < $quant_pg) { echo "<a href=".$_SERVER['PHP_SELF']."?pg=".($_GET['pg'] +1)."&busca=$busca class=pg><b>próximo »</b></a>"; } else { echo "<font color=#CCCCCC align='center'>próximo »</font>"; } ?> o código na pagina para paginação <?php //######### INICIO Paginação $numreg = 20; // Quantos registros por página vai ser mostrado if (!isset($_GET['pg'] )) { $_GET['pg'] = 0; } $inicial = $_GET['pg'] * $numreg; //######### FIM dados Paginação // Faz o Select pegando o registro inicial até a quantidade de registros para página $sql = mysql_query("SELECT * FROM tabprotocolo LIMIT $inicial, $numreg"); // Serve para contar quantos registros você tem na seua tabela para fazer a paginação $sql_conta = mysql_query("SELECT * FROM tabprotocolo"); $quantreg = mysql_num_rows($sql_conta); // Quantidade de registros pra paginação include("paginacao.php"); // Chama o arquivo que monta a paginação. ex: << anterior 1 2 3 4 5 próximo >> echo "<br><br>"; // Vai servir só para dar uma linha de espaço entre a paginação e o conteúdo while ($aux = mysql_fetch_array($sql)) { /* Ai o resto é com voces em montar como deve parecer o conteúdo */ } ?> Uma dúvida por ex ali em cima onde /* Ai o resto é com voces em montar como deve parecer o conteúdo */ ali vai a tabela a ser paginada fica fora? Desde já grato galera! Compartilhar este post Link para o post Compartilhar em outros sites
gabrielribeiro_ 0 Denunciar post Postado Abril 26, 2010 Ae galera criei aqui um scrip de paginação e deu certo só que o seguinte, ele avança para a proxima pagina (pagina +1), e volta (pagina - 1)... ai depois se eu quero clicar em proximo denovo o valor da proxima pagina fica pagina = 0.... vou postar aqui a logica para ver se agente consegue resolver isso. Eu tirei algumas partes, mas a parte da logica ta paginação ta ai. Abraços galera! //inclusão da conexão com banco de dados require('conexao.php'); //A quantidade de valor a ser exibida $quantidade = 1; //a pagina atual $pagina = (isset($_GET['pagina'])) ? (int)$_GET['pagina'] : 1; //Calcula a pagina de qual valor será exibido $inicio = ($quantidade * $pagina) - $quantidade; //Monta o SQL com LIMIT para exibição dos dados $sql = "SELECT * FROM tabprotocolo INNER JOIN tabtpdoc ON tabprotocolo.codtpdoc = tabtpdoc.codtpdoc INNER JOIN tabsecopm ON tabsecopm.codsecopm = tabprotocolo.codsecopm WHERE numprotoc LIKE '$numprotoc' OR docnum LIKE '$docnum' OR (dtentrada BETWEEN '$datai' AND '$dataf')" or die (mysql_error ( )); //Executa o SQL $qr = mysql_query($sql) or die(mysql_error()); //Percorre os campos da tabela /** * SEGUNDA PARTE DA PAGINAÇÃO */ //SQL para saber o total $sqlTotal = "SELECT * FROM tabprotocolo WHERE (dtentrada BETWEEN '$datai' AND '$dataf')"; //Executa o SQL $qrTotal = mysql_query($sqlTotal) or die(mysql_error()); //Total de Registro na tabela $numTotal = mysql_num_rows($qrTotal); //O calculo do Total de página ser exibido $totalPagina= ceil($numTotal/$quantidade); //link para primeira página /** * Defini o valor máximo a ser exibida na página tanto para direita quando para esquerda */ $exibir = 3; /** * Aqui montará o link que voltará uma pagina * Caso o valor seja zero, por padrão ficará o valor 1 */ $anterior = (($pagina - 1) == 0) ? 1 : $pagina : 1; /** * Aqui montará o link que ir para proxima pagina * Caso pagina +1 for maior ou igual ao total, ele terá o valor do total * caso contrario, ele pegar o valor da página + 1 */ $posterior = (($pagina+1) >= $totalPagina) ? $totalPagina : $pagina+1; /** * Agora monta o Link paar Primeira Página * Depois O link para voltar uma página */ echo '<a href="?pagina=1">Primeira Página</a> | '; echo "<a href=\"?pagina=$anterior\">Página Anterior</a> | "; /** * O loop para exibir os valores à esquerda */ for($i = $pagina-$exibir; $i <= $pagina-1; $i++){ if($i > 0) echo '<a href="?pagina='.$i.'"> '.$i.' </a>'; } /** * Depois o link da página atual */ echo '<a href="?pagina='.$pagina.'"><strong>['.$pagina.']</strong></a>'; /** * O loop para exibir os valores à direta */ for($i = $pagina+1; $i < $pagina+$exibir; $i++){ if($i <= $totalPagina) echo '<a href="?pagina='.$i.'"> '.$i.' </a>'; } /** * Agora monta o Link para Próxima Página * Depois O link para Última Página */ echo " | <a href=\"?pagina=$posterior\">Próxima Página</a> | "; echo " <a href=\"?pagina=$totalPagina\">Última Página</a>"; Compartilhar este post Link para o post Compartilhar em outros sites