sexta-feira, 15 de fevereiro de 2019

Sistema de paginação completo

*******************************************************
ficheiro: paginacaoPHP.php
********************************************************
<?php
if(!isset($_GET['limite'])){
    $limite=2;
} else {
    $limite=$_GET['limite'];
}

if(!isset($_GET['mais']) and !isset($_GET['menos']) and !isset($_GET['end'])){
$inicio=0;
}

if(isset($_GET['mais'])){
    $inicio=$_GET['inicio'];
    $inicio=$inicio+$limite;
}
if(isset($_GET['menos'])){
    $inicio=$_GET['inicio'];
    $inicio=$inicio-$limite;
}
if(isset($_GET['end'])){
    $inicio=$_GET['inicio'];
}
?>
*****************************************************
ficheiro: paginacaoHTMLlimite.php
******************************************************
<form>
                <select name="limite" onchange="form.submit()">
                <option ><?php echo $limite;?></option>
                <?php if($limite!=2){?>
                <option value="2">2</option>
                <?php }?>
                <?php if($limite!=3){?>
                <option value="3">3</option>
                <?php }?>
                <?php if($limite!=4){?>
                <option value="4">4</option>
                <?php }?>
             
                </select>
                </form>
*****************************************************************
ficheiro: paginacaoHTMLnavegacao.php
*****************************************************************
<div id="paginacao">       
       
           <a <?php if($ini>1){ ?>href="?home&inicio=0&limite=<?php echo $limite;?>"<?php } ?>>Home</a>
         
           <a <?php if($ini>1){ ?>
           href="?menos&inicio=<?php echo $inicio;?>&limite=<?php echo $limite;?>"<?php } ?>>Prev</a>
         
           <a <?php if($lim != $total){ ?>href="?mais&inicio=<?php echo $inicio;?>&limite=<?php echo $limite;?>"<?php } ?>>Next</a>
         
           <a <?php if($lim != $total){ ?>href="?end&inicio=<?php echo $total-$limite;?>&limite=<?php echo $limite;?>"<?php } ?>>End</a>
       </div>
<div><?php echo "$ini a $lim";?> de <?php echo $total;?></div>
****************************************************************
acoesListar.php
******************************************************************
<?php
require_once("sistema.php");

$sql="SELECT count(id) AS total FROM acoes";
$queryTotal=mysqli_query($ligar, $sql);
$fetchTotal=mysqli_fetch_assoc($queryTotal);
$total=$fetchTotal['total'];

require_once("paginacaoPHP.php"); // obrigatorio incluir em todas as paginas que listem

$sql="SELECT id, acao, estado FROM acoes LIMIT $inicio,$limite";
$queryAcoes=mysqli_query($ligar, $sql);
$fetchAcoes=mysqli_fetch_assoc($queryAcoes);
$totalAcoes=mysqli_num_rows($queryAcoes);

$ini=$inicio+1; $lim=$inicio+$limite;
?>
    <!DOCTYPE html>
    <html lang="pt">

    <head>
        <meta charset="UTF-8">
        <title>Lista de ações</title>
    </head>

    <body> 
     <?php require_once("menu.php");?>   
      <?php if($totalAcoes != 0) {?>
      <!-- há registos nas ações -->
      <?php require_once("paginacaoHTMLlimite.php");?>
        <div>
            <table border="1" cellpadding="1">
                <tr>
                    <th>#</th>
                    <th>Ação</th>
                    <th>Estado</th>
                </tr>
                <?php $i=0; do { $i=$i+1; ?>
                <tr>
                    <td><?php echo $i;?></td>
                    <td><?php echo $fetchAcoes['acao'];?></td>
                    <td><?php if($fetchAcoes['estado']==1){echo "Ativo";}else{echo "Inativo";} ?></td>
                </tr>
                <?php } while($fetchAcoes=mysqli_fetch_assoc($queryAcoes)); ?>
            </table>
        </div>
         <?php require_once("paginacaoHTMLnavegacao.php");?>
       
      <!-- /há registos nas ações -->
      <?php }?>
     
      <?php if($totalAcoes == 0){?>
       <!-- Não há registos nas ações -->
       <p>Não há registos</p>     
       <!-- /Não há registos nas ações -->
       <?php }?>
     
     
    </body>

    </html>

Sem comentários:

Enviar um comentário