Ir para conteúdo

POWERED BY:

Arquivado

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

wushumasters

[Resolvido] Consulta SQL + Paginação + Contador

Recommended Posts

Pessoal,

 

Com o código abaixo hopje eu consigo fazer uma consulta sql e paginá-la normalmente, porem a sequencia da consulta (contador) fica sempre de 1 a 20, eu sei o porque mas não consegui achar uma solução para o contador continuar para 21 a 40 e assim por diante.

 

Segue o código:

 

###########################################################

 

<?php

if (isset($_GET["page"])) {

$page = $_GET["page"];

} else {

$page=1;

 

};

$start_from = ($page-1) * 20;

 

 

######FAZ A CONSULTA ABAIXO CONTANDO AS LINHAS E COLANDO CADA LINHA DE UMA COR

$contador = 0;

$sql = "SELECT * FROM TABLE WHERE XXXX=XXXXX ASC LIMIT $start_from, 20 ";

$resultado_mysql = mysql_query($sql,$conexao_mysql);

while ($linha = mysql_fetch_array($resultado_mysql)) {

 

if( $contador%2 == 0) {

echo "<tr style='background-color: rgb(255, 255, 255);'>";

}

else {

echo "<tr style='background-color: rgb(169, 169, 169);'>";

}

$contador++;

?>

<td style="text-align: center;"><? echo $contador ?> </td>

<td style="text-align: center;"><? echo $linha['xxx']; ?></td>

<td style="text-align: center;"><? echo $linha['xxx']; ?></td>

<td style="text-align: center;"><? echo $linha['xxx'];?></td>

 

 

sql = "SELECT COUNT(*) FROM TABLE WHERE XXX=XXX";

$resultado_mysql = mysql_query($sql,$conexao_mysql);

$row = mysql_fetch_row($resultado_mysql);

$total_records = $row[0];

$total_pages = ceil($total_records / 20);

 

echo "<div style=\"text-align: center; font-family: Arial;\">";

echo "<a href=paginacao.php?page=1>Início</a> " ;

for ($i=1; $i<=$total_pages; $i++) {

 

echo "<a href=paginacao.php?page=".$i.">".$i."</a> " ;

 

};

echo "</div>";

?>

############################################

 

Se vocês puderem ajudar agradeço.

 

Patrick

 

Alguém tem alguma idéia?

 

Valeu

 

Ninguém consegue me ajudar

 

valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Troque:

$contador = 0;

 

Por:

$contador = $start_from+1;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu certo porém usei da seguinte forma

 

$contador = $start_from;

 

Pois da forma que você passou ele já começava pelo resultado 2.

 

Mas como sempre agradeço a ajuda.

 

Grato,

Patrick

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só que pelo script que você postou isso não deve funcionar, é só calcular:

Na página 1:

$start_from = ($page-1) * 20;  -> (1-1)*20 = 0
$contador = $start_from+1;  -> 0+1 = 1

Na página 2:

$start_from = ($page-1) * 20;  -> (2-1)*20 = 20
$contador = $start_from+1;  -> 20+1 = 21

Do modo como você colocou:

Na página 1:

$start_from = ($page-1) * 20;  -> (1-1)*20 = 0
$contador = $start_from;  -> 0

Na página 2:

$start_from = ($page-1) * 20;  -> (2-1)*20 = 20
$contador = $start_from;  -> 20

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.