Borel 0 Denunciar post Postado Agosto 16, 2003 No resultado de uma consulta tenho 16 valores diferentes. Estou querendo fazer paginação com estes valores exibindo 6 valores em cada página totalizando 3 páginas. Gostaria de saber como montar as 3 tabelas, sendo uma para cada página aonde estariam os valores da consulta. Lembrando que a última tabela ficará com células em branco na segunda linha.Gostaria que alguém pudesse me ajudar ou indicar onde encontrar algo parecido. Compartilhar este post Link para o post Compartilhar em outros sites
##unregister## 0 Denunciar post Postado Agosto 16, 2003 <? //conexão com BD etc... //Consulta $sql = "select * from nome_tabela where name=$name"; //Exemplo $sql_resultads = mysql_query($sql); //Transfere resultados de $sql para $sql_resultads $linhas = mysql_num_rows($sql_resultads);//Transfere nº de linhas para a variável $linhas $linhasini = 1; if (($sql_resultads) and ($linhas)) { //Verifica se existem resultados na pesquisa. } else { echo "<hr>"; echo "<b>Desculpe. Não existem resultados.</b>"; echo "<hr>"; echo "<div align='center'><font face='Verdana, Arial, Helvetica, sans-serif' size='1'><a href='/search.php'>Retorna</a></font>"; echo "<hr>"; } $lpp = 10; //Especifica quantos resultados queremos ver por página aberta. $total = mysql_num_rows($sql_resultads); //Esta função irá retornar o total de linhas na tabela.. $paginas = ceil($total / $lpp); //Retorna o total de páginas.. if(!isset($pagina)) { $pagina = 0;} //Especifica um valor para a variável $pagina, caso //a mesma não esteja setada. $inicio = $pagina * $lpp; //Retorna qual será a primeira linha a ser mostrada no MySQL. $sql = mysql_query("select * from nome_tabela where name=$name $inicio,$lpp"); // Repete consulta, desta vez com as variáveis de controle $inicio e $lpp. echo "<p align='center'><b>Foram encontrados $linhas resultados.</b></p>"; //Cria os arrays com os nome dos campos do BD, que deverão ser identicas aos locais da tabela em HTML. while($dados = mysql_fetch_array($sql)) { $name = $dados['name'] ; ^ ^ // repita aqui outros campos que você tenha em seu BD. ^ ^ //Tabela em HTML echo "<div align='center'><table width='95%' border='0' cellspacing='0'bordercolor='#FFFFFF'"; echo "<tr bgcolor='#FCE4B8'>"; echo "<td width='10%'height='29'>"; echo "<div align='center'><font face='Arial, Helvetica, sans-serif'><b>Nome</b></font></div>"; echo "</td>"; echo " <tr bgcolor='#99FFFF'>"; echo " <td width='13%'height='29'><div align='center'><font face='san-serif'size='1'>$name</font></td>" ; $linhasini ++ ; //incrementa a variável $linhasini $dados = mysql_fetch_array($sql_resultads); //transfere os dados do array para $dados. } echo "</table>"; echo "<br>" ; echo "<div align='center'><font face='Verdana, Arial, Helvetica, sans-serif' size='1'><a href='search.php'>Retorna</a></font>"; ?> <div align="center"> <? if ($pagina > 0) { $menos = $pagina - 1; //$url = "$PHP_SELF?pagina=$menos"; $url = "$PHP_SELF?pagina=$menos&nome=$nome"; echo " <a href='$url'>Anterior</a>"; //Vai para a pagina anterior. } for ($i=1; $i<$paginas; $i++) {//Gera um loop com o link para as páginas //$url = "$PHP_SELF?pagina=$i"; $url = "$PHP_SELF?pagina=$i&nome=$nome"; echo " | <a href='$url'>$i</a>"; } if ($pagina < ($paginas - 1)) { $mais = $pagina + 1; //$url = "$PHP_SELF?pagina=$mais"; $url = "$PHP_SELF?pagina=$mais&nome=$nome"; echo " | <a href='$url'>Proxima</a>"; //Vai para a próxima pagina. } ?> Bom, espero que este exemplo lhe sirva para ter uma idéia de como se faz este tipo de consulta. Aconselho tbm a aquisição de Tutoriais sobre PHP/MySQL. Aqui mesmo no fórum v. pode encontra e em outros fóruns, tais como o http://forum.wmonline.com.br e outros. Se você ainda não tem, isntale um servidor local para testes. Um muito bom é o Easyphp, que você pode baixar em http://www.easyphp.org. Qualquer dúvida é só postar. Espero ter ajudado. Compartilhar este post Link para o post Compartilhar em outros sites