Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

N3lson

[Resolvido] Paginação (erro)

Mensagens Recomendadas

N3lson

boas tenho este código para fazer a paginação mas algo está mal, poderiam-me ajudar?


//paginação
       $records_per_page = 20;
       $row = mysqli_query($conexao, "SELECT COUNT(*) FROM susp");
       $total = mysqli_num_rows($row);

       $page_count = ceil($total / $records_per_page);

       $page = 1;
       if (isset($_GET['page']) && $_GET['page'] >= 1 && $_GET['page'] <= $page_count) {
           $page = (int)$_GET['page'];
       }
       $skip = ($page - 1) * $records_per_page;

       $resultados = mysqli_query($conexao, "SELECT * FROM susp ORDER BY data DESC LIMIT $skip, $records_per_page");

dá apenas uma página e deveria dar pelo menos 3


You can't do it, kid. But don't worry, my boy. You're not the only one. No one else can do it.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo
$row = mysqli_query($conexao, "SELECT COUNT(*) FROM susp"); // o que retorna este SQL ?
$total = mysqli_num_rows($row);                             // quantas linhas tem o resultado ?


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
N3lson

Quantas linhas tem ou deveria ter ?

Apresenta 1

Isto da paginação, não encaixei ainda :)

Editado por N3lson

You can't do it, kid. But don't worry, my boy. You're not the only one. No one else can do it.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
N3lson

Código completo

echo $table;
$i=0;

//paginação
       $records_per_page = 20;
       $row = mysqli_query($conexao, "SELECT COUNT(*) FROM susp");
       $total = mysqli_num_rows($row);

       echo ($total);

       $page_count = ceil($total / $records_per_page);

       $page = 1;
       if (isset($_GET['page']) && $_GET['page'] >= 1 && $_GET['page'] <= $page_count) {
           $page = (int)$_GET['page'];
       }
       $skip = ($page - 1) * $records_per_page;

       $resultados = mysqli_query($conexao, "SELECT * FROM susp ORDER BY data DESC LIMIT $skip, $records_per_page");


while($tabela =  mysqli_fetch_assoc($resultados))
 {
    //print_r(strlen($tabela['soda_kg'])); // debug de variáveis
   echo ($i % 2)?'<tr class="odd">':'<tr class="even">';// cor alternada
   echo"<td>". $tabela['data']."</a></td>";
   echo"<td>". $tabela['hora']."</td>";
   echo"<td>". number_format($tabela['zinco'],1)."</td>";
   echo"<td>". number_format($tabela['soda'],1)."</td>";
   echo"<td>". number_format($tabela['minutos'],1)."</td>";
   if (strlen($tabela['soda_kg']<=1)){
   echo"<td>". number_format($tabela['soda_kg'],2)."</td>";
   }
   else{
   echo"<td>". number_format($tabela['soda_kg'],1)."</td>";
   }
   echo"<td>". $tabela['abrilh']."</td>";
   echo"<td>". $tabela['correct']."</td>";
   echo"<td>". $tabela['lcd']."</td>";
   echo"<td>". number_format($tabela['form'],1)."</td>";
   echo"<td>". $tabela['resp']."</td>";
   echo"</tr>";
   $i++;    // cor alternada
 }
echo '</table>';
echo 'Registos: ';
for ($x = 1; $x <= $page_count; ++$x) {
           echo '<a href="' . $_SERVER['PHP_SELF'] . '?page=' . $x . '"><span>'. $x . '</span></a> ';
       }


You can't do it, kid. But don't worry, my boy. You're not the only one. No one else can do it.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo
$row = mysqli_query($conexao, "SELECT COUNT(*) FROM susp"); // este SQL resulta num único registo com um número
$total = mysqli_num_rows($row);                             // $total será sempre 1

// o que queres é
$record = mysqli_fetch_array($row):
$total = $record[0];

  • Voto 1

IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.