Darkstar 1 Denunciar post Postado Março 23, 2006 <?include "site/conexao.php";$re = mysql_query("SELECT count(*) as total FROM produtos");$total = mysql_result($re, 0, "total");$pagina = 0;if(isset($_GET["pagina"])) {$pagina = $_GET["pagina"];}$limite = 12;$paginas = ceil($total / $limite);$inicio = $pagina * $limite;$sql = mysql_query("SELECT * FROM produtos LIMIT $inicio, $limite");//////////////////////////////////////////////////////////////////////////////////// total de istros encontrados$registros_tab = mysql_num_rows($sql);// criando um array com o total de registros logo abaixo$u_tab=0;while($registro_tab=mysql_fetch_array($sql)){$resultado_tab[$u_tab]=$registro_tab['ref'];$u_tab++;};// exibindo os registros$linhas_tab=4;// criando tabela de exibicaoecho('<table border=1>');$x_tab=0;$arquivos_tab=0;for($i_tab=1; $i_tab<=$linhas_tab;$i_tab++){//criando linhaecho('<tr>');// criando célulaswhile($x_tab<$registros_tab && $arquivos_tab<3){echo('<td>'.$resultado_tab[$x_tab].'</td>');;$x_tab++;$arquivos_tab++;};$arquivos_tab=0;// fechando linhaecho('</tr>');};// fechando tabelaecho('</table>');/////////////////////////////////////////////////////////////////////if($pagina > 0) {$menos = $pagina - 1;$url = $_SERVER["PHP_SELF"]."?pagina=".$menos;echo "<a href=\"$url\">Anterior</a>";}for($i = 1;$i < $paginas; $i++) {$url = $_SERVER["PHP_SELF"]."?pagina=".$i;echo " | <a href=\"$url\">$i</a>";}if($pagina < $paginas) {$mais = $pagina + 1;$url = $_SERVER["PHP_SELF"]."?pagina=".$mais;echo " | <a href=\"$url\">Próxima</a>";}?> Bom.. o código funciona direitinho, eu tenho uma tabela com 14 produtos inseridos.. ele me retorna uma página com 12 resultados (tabela de 4 colunas X 3 linhas).. uma outra página com os 2 resultados que faltaram.. e uma página a mais onde não tem nada só um ponto.. alguem pode me ajudar a rever isso? Compartilhar este post Link para o post Compartilhar em outros sites
Darkstar 1 Denunciar post Postado Março 23, 2006 Resolvido: Apenas troquei o sistema de paginação por um antigo q eu tinha aqui.. Segue o código pra quem quiser usar. O script lê o BD, pega os dados e joga em uma tabela com tamanho definido pelo user.. e tem paginação :) CODE <? include('site/conexao.php'); // número de registros por página $link_p_pag = 12; $reg_p_pag = 12; // @$pag = $_GET['pagina']; $busca = mysql_query("SELECT count(*) as total FROM produtos"); $registros = mysql_result($busca,0); echo "Número de registros: ";echo "<strong>$registros</strong>";echo "<br>"; $num_total_paginas = ($registros%$reg_p_pag==0)?$registros/$reg_p_pag:floor($registros/$reg_p_pag)+1; echo "Número de páginas: ";echo "<strong>$num_total_paginas</strong>";echo "<br /><br /><br />"; if ( $pag>$num_total_paginas)echo "Error<br><br>";else if (! $pag) $pag = 1; $inicio = ($reg_p_pag*$pag)-$reg_p_pag; $query = "SELECT * FROM produtos LIMIT $inicio, $reg_p_pag"; $result = @mysql_query($query); //Cria a Tabela $registros_tab = mysql_num_rows($result); // criando um array com o total de registros logo abaixo $u_tab=0;while( $registro_tab=mysql_fetch_array($result)){ $resultado_tab[$u_tab]=$registro_tab['ref']; $u_tab++;} echo "<table border=1>"; $x_tab=0; $arquivos_tab=0; //Define o número de linhas $linhas_tab = 4; //Define o número de colunas $col_tab = 3; for( $i_tab=1; $i_tab<=$linhas_tab;$i_tab++){ echo( '<tr>'); while( $x_tab<$registros_tab && $arquivos_tab<$col_tab){ echo "<td>".$resultado_tab[$x_tab]."</td>"; $x_tab++; $arquivos_tab++; } $arquivos_tab=0; echo( '</tr>');} echo( '</table>'); ///////////////////////////////////////////////////////////////////// $anterior = $pag-1;if ( $anterior<1)echo "Anterior - ";else echo "<a href="{$_SERVER['PHP_SELF']}?act=3&pagina=$anterior">Anterior</a> - "; for( $i=1; $i<$pag; $i++)if( $i>=$pag-$link_p_pag)echo "<a href="{$_SERVER['PHP_SELF']}?act=3&pagina=$i">$i</a> - "; echo "<b>[$pag]</b>"; for( $i=$pag+1; $i<=$num_total_paginas; $i++)if( $i<=$pag+$link_p_pag)echo " - <a href="{$_SERVER['PHP_SELF']}?act=3&pagina=$i">$i</a>"; $proxima = $pag+1;if ( $proxima>$num_total_paginas)echo " - Próxima";else echo " - <a href="{$_SERVER['PHP_SELF']}?act=3&pagina=$proxima">Próxima</a>"; ?> Compartilhar este post Link para o post Compartilhar em outros sites