Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Darkstar

Resultados em tabela + paginação

Recommended Posts

<?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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.