michelepiovani Postado Junho 3, 2003 Denunciar Share Postado Junho 3, 2003 Como faço pra numerar uma pesquisa em um banco ?Criei um sistema de numeração, mas quando tem muitos registros, ele passa de 30 páginas na parte inferior do site e e fica horrível...Gostaria que aparececem em cada página 3 registros e que o número de páginas girasse de 10 em 10...Não sei se fui muito clara...Registro 1Registro 2Registro 3Primeira | Anterior | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Próxima | ÚltimaCaso passe:Registro 12Registro 13Registro 14Primeira | Anterior | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | Próxima | ÚltimaBjins, MI Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gladisson Postado Junho 3, 2003 Denunciar Share Postado Junho 3, 2003 Tá ai pra você o código:<style>.estilos { color: #000000; text-decoration: none} A:hover {text-decoration: underline}</style> <? function getmicrotime(){ list($sec, $usec) = explode(" ",microtime()); return ($sec + $usec); } $time_start = getmicrotime(); //###################################################### $arquivo = "paginacaoderesultado.php"; // NOME DA PÁGINA SALVA O SCRIPT /*CASO você TENHA QUE UTILIZAR OUTRAS VARIÁVEIS JUNTO COM A VARIÁVEL (id) COLOQUE JUNTO EXEMPLO: "index.php?moldura=$mold&"*/ $banco = "Seu Banco"; // NOME DO BANCO DE DADOS $endereco = "Local"; // ENTRE COM O ENDEREÇO DO BANCO DE DADOS $usuário = "Usuário"; // NOME DE USUÁRIO DO MYSQL $password = "Password"; // SENHA DO MySQL $table = "Tabela a ser pesquizada"; // NOME DA TABELA A SER UTILIZADA $maxpag = 3; // MÁXIMO DE RESULTADOS POR PÁGINA $maxlnk = 10; // MÁXIMO DE LINKS POR PÁGINA if ($id == ''){$param = 0;} else { $temp = $id; $passo1 = $temp - 1; $passo2 = $passo1*$maxpag; $param = $passo2;} //###################################################### $res = mysql_connect("$endereço", "$usuario", "$passwod"); $sql = "select * from $table"; $sql_01 = "select * from $table limit $param,$maxpag"; $res1 = mysql_db_query("$banco", "$sql", $res); $res2 = mysql_db_query("$banco", "$sql_01", $res); $totreg = mysql_num_rows($res1); $totreg_01 = mysql_num_rows($res2); //###################################################### $results_tot = $totreg; $results_parc = $totreg_01; $result_div = $results_tot/$maxpag; $n_inteiro = (int)$result_div; if ($n_inteiro < $result_div) {$n_paginas = $n_inteiro + 1;} else {$n_paginas = $result_div;} $pg_atual = $param/$maxpag+1; $reg_inicial = $param + 1; $pg_anterior = $pg_atual - 1; $pg_proxima = $pg_atual + 1; $time_end = getmicrotime(); $time = $time_end - $time_start; ?> <html> <head> <title>Paginação de Resultados</title> </head> <body topmargin="0" leftmargin="0"> <table border="0" cellspacing="0" width="863"> <tr> <td bgcolor="#3366CC" width="859"> <p align="right"><font color="#FFFFFF" size="2" face="Arial">Foram encontradas <?echo $totreg;?> ocorrências em <?echo $n_paginas?> páginas de resultados - visualizando <?echo $maxpag;?> resultados por página</font></td> </tr> </table> <p style="word-spacing: 0; margin: 0"> </p> <p style="word-spacing: 0; margin: 0"> </p> <p style="word-spacing: 0; margin: 0"> </p> <p style="word-spacing: 0; margin: 0"> </p> <?while($resultado = mysql_fetch_array($res2)) { $contador ++;?> <? // ########### COLOQUE AQUI OS RESULTADOS DA PESQUISA ########### ?> <p style="word-spacing: 0; margin: 0" align="center"> <font color="#000000" size="2" face="Arial"><?echo $resultado["usuarioprotec"];?> <?echo $resultado["email"];?></font></p> <? // ################# FIM DOS RESULTADOS ##################### ?> <?}$reg_final = $param + $contador;?> <p style="word-spacing: 0; margin: 0"> </p> <p style="word-spacing: 0; margin: 0"> </p> <p style="word-spacing: 0; margin: 0"> </p> <p style="word-spacing: 0; margin: 0"> </p> <div align="center"> <table border="0" cellspacing="0" width="147"> <tr> <td width="63"> <p align="left"><font face="Verdana" size="2"> <?if ($id > 1) {?><a href="<?$arquivo?>?id=<?echo $pg_anterior;?>" class="estilos"><b><<anterior</font><?}?></a></td> <?if ($temp >= $maxlnk){ if ($n_paginas > $maxlnk) {$n_maxlnk = $temp + 4; $maxlnk = $n_maxlnk; $n_start = $temp - 6; $lnk_impressos = $n_start;}} while(($lnk_impressos < $n_paginas) and ($lnk_impressos < $maxlnk)) { $lnk_impressos ++;?> <center> <td width="7"> <p align="center"><font face="Verdana" size="2"> <?if ($pg_atual != $lnk_impressos){echo "<a href=\"$arquivo?id=$lnk_impressos\" class=\"estilos\">";} if ($pg_atual == $lnk_impressos){echo "<h1>$lnk_impressos<h1>";} else {echo "$lnk_impressos";}?></a></b></font></td><?}?> </font></td> </center> <td width="200"> <p align="left"><font face="Verdana" size="2"> <?if ($reg_final < $results_tot) {?><a href="<?$arquivo?>?id=<?echo $pg_proxima;?>" class="estilos"><b>Próximo>></b></font></a></td><?}?> </tr> </table> </div> <p style="word-spacing: 0; margin: 0"> </p> <div align="left"> <table border="0" cellspacing="0" width="863"> <tr> <td bgcolor="#3366CC" width="859"> <p align="right" style="word-spacing: 0; margin: 0"><font color="#FFFFFF" size="2" face="Arial">mostrando <?echo $reg_inicial;?> - <?echo $reg_final;?> sobre <?echo $totreg;?></font><font color="#FFFFFF" size="2" face="Arial"> <?$texto=printf ("A pesquisa demorou <b>%.3f</b> segundos",$time);?></font></td> </tr> </table> </div>você vai ter que modificar algumas coisas pra ficar com a sua cara.Espero que tenho te ajudado.Qual quer dúvida sobre este script poste ai que irei te ajudar. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Ninja. Postado Junho 3, 2003 Denunciar Share Postado Junho 3, 2003 Só de informação, isso se chama paginação ;) Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
michelepiovani
Como faço pra numerar uma pesquisa em um banco ?
Criei um sistema de numeração, mas quando tem muitos registros, ele passa de 30 páginas na parte inferior do site e e fica horrível...
Gostaria que aparececem em cada página 3 registros e que o número de páginas girasse de 10 em 10...
Não sei se fui muito clara...
Registro 1
Registro 2
Registro 3
Primeira | Anterior | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Próxima | Última
Caso passe:
Registro 12
Registro 13
Registro 14
Primeira | Anterior | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | Próxima | Última
Bjins, MI
Link para o comentário
Compartilhar em outros sites
2 respostass 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.