Ir para conteúdo

Arquivado

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

R_MontSerrat

[Resolvido] contagem de registros com paginação

Recommended Posts

Estou fazendo uma consulta ao banco de dados com paginação e quero que cada linha seja ordenada por numeros, como uma contagem, mas quando passo a página a contagem volta ao número 1, e eu quero que ela continue.

Abaixo está o código

 

 

<?php

$host = "localhost"; //end. do servidor

$usuario = "root"; //usuario do banco de dados

$senha = ""; //senha do banco de dados

$banco = "newsletter"; //nome do banco de dados

$conect = mysql_connect($host,$usuario,$senha);

mysql_select_db($banco);

 

 

// Incluindo a conexão com o banco

 

//######### INICIO Paginação

$numreg = 5; // 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 ordenado de acordo com a escolha do cliente, no caso por Id

$sql = mysql_query("select * from n_emails ORDER BY id ASC LIMIT $inicial, $numreg");

 

// Serve para contar quantos registros você tem na seua tabela para fazer a paginação

$sql_conta = mysql_query("SELECT * FROM n_emails");

 

$quantreg = mysql_num_rows($sql_conta); // Quantidade de registros pra paginação

 

$num = 1;

while($lista2 = mysql_fetch_array($sql)){

$id = $lista2["id"];

$email = $lista2["email"];

$tel = $lista2["telefone"];

$nome = $lista2["nome"];// exibe os emails cadastrados no BD

 

print "

 

<table width=611 border=0 cellpadding=0 cellspacing=1>

<tr>

<td>$num </td>

<td>$nome</td>

<td>$email</td>

<td>$tel</td>

<td><a href=excluir.php?id=$id>remover</a></td>

</tr>

</table>

 

";

 

$num = $num + 1;

 

 

 

 

}

print"<br>";

 

 

$quant_pg = ceil($quantreg/$numreg);

$quant_pg++;

 

// Verifica se esta na primeira página, se não estiver ele libera o link para anterior

if ( @$_GET['pg'] > 0) {

echo "<a href=".$_SERVER['PHP_SELF']."?pg=".(@$_GET['pg']-1)." class=pg >< Anterior</a>";

} else {

echo "Anterior";

}

 

// 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 " [$i_pg] ";

} else {

$i_pg2 = $i_pg-1;

echo " <a href=".$_SERVER['PHP_SELF']."?pg=$i_pg2>$i_pg ";

}

}

 

// Verifica se esta na ultima página, se não estiver ele libera o link para próxima

if ((@$_GET['pg']+2) < $quant_pg) {

echo "<td><a href=".$_SERVER['PHP_SELF']."?pg=".(@$_GET['pg']+1)." class=pg >Proximo >";

} else {

echo "Proximo";

}

 

?>

 

Alguém pode me ajudar?

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenho um script pronto, se quiser:

<?php
//inclusão da conexão com banco de dados
 //A quantidade de valor a ser exibida
 $quantidade = 3;
 //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 tabela ORDER BY id desc LIMIT $inicio, $quantidade";
 //Executa o SQL
 $qr  = mysql_query($sql) or die(mysql_error());
 //Percorre os campos da tabela
while($n=mysql_fetch_object($qr)){

echo $n->nome."<br>";
 }
 /**
  * SEGUNDA PARTE DA PAGINAÇÃO
  */
 //SQL para saber o total
 $sqlTotal   = "SELECT id FROM tabela";
 //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
  echo '<a href="?pagina=1" class="button2">Primeira Página</a> - ';
  //loop para mostra a os links da paginação
  for($i = 1; $i <= $totalPagina; $i++){
      if($i == $pagina)
    echo $i;
     else
    echo " <a href=\"?pagina=$i\" class=\"button2\">$i</a> ";
  }
  //link para ultima página
  echo " - <a href=\"?pagina=$totalPagina\" class=\"button2\">Última Página</a>";

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

$quantreg = mysql_num_rows($sql_conta); // Quantidade de registros pra paginação

$num = $inicial + 1; //a mudança deve ser realizada na string $num
while($lista2 = mysql_fetch_array($sql)){

 

Tenta assim..

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.