• User Attivo

    paginazione php

    Buongiornoi a tutti,

    sto facendo una schermata per gestire i record del mio db;

    di seguito il codice:

    [PHP]
    <?php include("../include/header.php"); ?>

    <div class="row">
    <div class="small-12 medium-12 large-12 columns">
    <?php
    $record_per_pagina = 10;
    $pag = $_GET['pag'];
    if (!$pag) $pag = 1;
    $conta_righe = mysql_num_rows(mysql_query("SELECT ID FROM articoli"));
    $numero_pagine = ceil($conta_righe / $record_per_pagina);
    $first = ($pag - 1) * $record_per_pagina;
    ?>
    <?php if(isset($_GET['order'])) { ?>
    <?php if($_GET['order']=="id-asc") { ?>
    <?php $lista_record = mysql_query("SELECT * FROM articoli ORDER BY ID ASC LIMIT $first, $record_per_pagina"); ?>
    <?php } ?>
    <?php if($_GET['order']=="id-desc") { ?>
    <?php $lista_record = mysql_query("SELECT * FROM articoli ORDER BY ID DESC LIMIT $first, $record_per_pagina"); ?>
    <?php } ?>
    <?php if($_GET['order']=="titolo-desc") { ?>
    <?php $lista_record = mysql_query("SELECT * FROM articoli ORDER BY titolo DESC LIMIT $first, $record_per_pagina"); ?>
    <?php } ?>
    <?php if($_GET['order']=="titolo-asc") { ?>
    <?php $lista_record = mysql_query("SELECT * FROM articoli ORDER BY titolo ASC LIMIT $first, $record_per_pagina"); ?>
    <?php } ?>
    <?php if($_GET['order']=="data-desc") { ?>
    <?php $lista_record = mysql_query("SELECT * FROM articoli ORDER BY data DESC LIMIT $first, $record_per_pagina"); ?>
    <?php } ?>
    <?php if($_GET['order']=="data-asc") { ?>
    <?php $lista_record = mysql_query("SELECT * FROM articoli ORDER BY data ASC LIMIT $first, $record_per_pagina"); ?>
    <?php } ?>
    <?php if($_GET['order']=="pubblicato-desc") { ?>
    <?php $lista_record = mysql_query("SELECT * FROM articoli ORDER BY pubblicato DESC LIMIT $first, $record_per_pagina"); ?>
    <?php } ?>
    <?php if($_GET['order']=="pubblicato-asc") { ?>
    <?php $lista_record = mysql_query("SELECT * FROM articoli ORDER BY pubblicato ASC LIMIT $first, $record_per_pagina"); ?>
    <?php } ?>
    <?php } ?>

    <?php $ret = mysql_num_rows($lista_record); ?>
      <?php if(isset($_GET['delete'])) { ?>
        <?php if($_GET['delete']=="ok") { ?> 
          <div data-alert class="alert-box alert radius">
            Eliminazione Articolo Eseguita Correttamente
            <a href="#" class="close">&times;</a>
          </div>
        <?php } ?>
      <?php } ?>
      <?php if(isset($_GET['pubblicato'])) { ?>
        <?php if($_GET['pubblicato']=="yes") { ?> 
          <div data-alert class="alert-box success radius">
            Articolo Pubblicato Correttamente
            <a href="#" class="close">&times;</a>
          </div>
        <?php } ?>
      <?php } ?>
      <?php if(isset($_GET['pubblicato'])) { ?>
        <?php if($_GET['pubblicato']=="no") { ?> 
          <div data-alert class="alert-box alert radius">
            Articolo Non Pubblicato Correttamente
            <a href="#" class="close">&times;</a>
          </div>
        <?php } ?>
      <?php } ?>
      <a href="articoli-form-insert.php" class="button success radius tiny right">
        <i class="fa fa-plus-square"></i> Nuovo Articolo
      </a>
      <table width="100%">
        <tr>
          <td colspan="5">
            <form>
              <input type="text" placeholder="Cerca un articolo e premi invio" class="left" />
            </form>
          </td>
        </tr>
        <?php if(isset($_GET['order'])) { ?>
          <?php if($_GET['order']=="id-asc") { ?> 
            <tr>
              <th><a href="articoli.php?order=id-desc&pag=<?php echo $_GET['pag']?>">ID <i class="fa fa-sort-asc"></i></a></th>
              <th><a href="articoli.php?order=titolo-desc&pag=<?php echo $_GET['pag']?>">Titolo</a></th>
              <th><a href="articoli.php?order=data-desc&pag=<?php echo $_GET['pag']?>">Data</a></th>
              <th><a href="articoli.php?order=pubblicato-desc&pag=<?php echo $_GET['pag']?>">Pubblicato</a></th>
              <th>Azioni</th>
            </tr>
          <?php } ?>
          <?php if($_GET['order']=="id-desc") { ?> 
            <tr>
              <th><a href="articoli.php?order=id-asc&pag=<?php echo $_GET['pag']?>">ID <i class="fa fa-sort-desc"></i></a></th>
              <th><a href="articoli.php?order=titolo-desc&pag=<?php echo $_GET['pag']?>">Titolo</a></th>
              <th><a href="articoli.php?order=data-desc&pag=<?php echo $_GET['pag']?>">Data</a></th>
              <th><a href="articoli.php?order=pubblicato-desc&pag=<?php echo $_GET['pag']?>">Pubblicato</a></th>
              <th>Azioni</th>
            </tr>
          <?php } ?>
          <?php if($_GET['order']=="titolo-desc") { ?> 
            <tr>
              <th><a href="articoli.php?order=id-desc&pag=<?php echo $_GET['pag']?>">ID</a></th>
              <th><a href="articoli.php?order=titolo-asc&pag=<?php echo $_GET['pag']?>">Titolo <i class="fa fa-sort-desc"></i></a></th>
              <th><a href="articoli.php?order=data-desc&pag=<?php echo $_GET['pag']?>">Data</a></th>
              <th><a href="articoli.php?order=pubblicato-desc&pag=<?php echo $_GET['pag']?>">Pubblicato</a></th>
              <th>Azioni</th>
            </tr>
          <?php } ?>
          <?php if($_GET['order']=="titolo-asc") { ?> 
            <tr>
              <th><a href="articoli.php?order=id-desc&pag=<?php echo $_GET['pag']?>">ID</a></th>
              <th><a href="articoli.php?order=titolo-desc&pag=<?php echo $_GET['pag']?>">Titolo <i class="fa fa-sort-asc"></i></a></th>
              <th><a href="articoli.php?order=data-desc&pag=<?php echo $_GET['pag']?>">Data</a></th>
              <th><a href="articoli.php?order=pubblicato-desc&pag=<?php echo $_GET['pag']?>">Pubblicato</a></th>
              <th>Azioni</th>
            </tr>
          <?php } ?>
          <?php if($_GET['order']=="data-desc") { ?> 
            <tr>
              <th><a href="articoli.php?order=id-desc&pag=<?php echo $_GET['pag']?>">ID</a></th>
              <th><a href="articoli.php?order=titolo-desc&pag=<?php echo $_GET['pag']?>">Titolo</a></th>
              <th><a href="articoli.php?order=data-asc&pag=<?php echo $_GET['pag']?>">Data <i class="fa fa-sort-desc"></i></a></th>
              <th><a href="articoli.php?order=pubblicato-desc&pag=<?php echo $_GET['pag']?>">Pubblicato</a></th>
              <th>Azioni</th>
            </tr>
          <?php } ?>
          <?php if($_GET['order']=="data-asc") { ?> 
            <tr>
              <th><a href="articoli.php?order=id-desc&pag=<?php echo $_GET['pag']?>">ID</a></th>
              <th><a href="articoli.php?order=titolo-desc&pag=<?php echo $_GET['pag']?>">Titolo</a></th>
              <th><a href="articoli.php?order=data-desc&pag=<?php echo $_GET['pag']?>">Data <i class="fa fa-sort-asc"></i></a></th>
              <th><a href="articoli.php?order=pubblicato-desc&pag=<?php echo $_GET['pag']?>">Pubblicato</a></th>
              <th>Azioni</th>
            </tr>
          <?php } ?>
          <?php if($_GET['order']=="pubblicato-desc") { ?> 
            <tr>
              <th><a href="articoli.php?order=id-desc&pag=<?php echo $_GET['pag']?>">ID</a></th>
              <th><a href="articoli.php?order=titolo-desc&pag=<?php echo $_GET['pag']?>">Titolo</a></th>
              <th><a href="articoli.php?order=data-desc&pag=<?php echo $_GET['pag']?>">Data</a></th>
              <th><a href="articoli.php?order=pubblicato-asc&pag=<?php echo $_GET['pag']?>">Pubblicato <i class="fa fa-sort-desc"></i></a></th>
              <th>Azioni</th>
            </tr>
          <?php } ?>
          <?php if($_GET['order']=="pubblicato-asc") { ?> 
            <tr>
              <th><a href="articoli.php?order=id-desc&pag=<?php echo $_GET['pag']?>">ID</a></th>
              <th><a href="articoli.php?order=titolo-desc&pag=<?php echo $_GET['pag']?>">Titolo</a></th>
              <th><a href="articoli.php?order=data-desc&pag=<?php echo $_GET['pag']?>">Data</a></th>
              <th><a href="articoli.php?order=pubblicato-desc&pag=<?php echo $_GET['pag']?>">Pubblicato <i class="fa fa-sort-asc"></i></a></th>
              <th>Azioni</th>
            </tr>
          <?php } ?>
        <?php } else { ?>
          <tr>
            <th><a href="articoli.php?order=id-desc&pag=<?php echo $_GET['pag']?>">ID</a></th>
            <th><a href="articoli.php?order=titolo-desc&pag=<?php echo $_GET['pag']?>">Titolo</a></th>
            <th><a href="articoli.php?order=data-desc&pag=<?php echo $_GET['pag']?>">Data</a></th>
            <th><a href="articoli.php?order=pubblicato-desc&pag=<?php echo $_GET['pag']?>">Pubblicato</a></th>
            <th>Azioni</th>
          </tr>
        <?php } ?>
          <?php 
            if ($ret != 0){
              for($x = 0; $x < $ret; $x++){
                $row = mysql_fetch_assoc($lista_record);
          ?>
            <tr>
              <td><?php echo $row['ID'] ?></td>
              <td>
                <a href="articoli-form-update.php?ID=<?php echo $row['ID'] ?>">
                  <?php echo $row['titolo'] ?>
                </a>
              </td>
              <td><?php echo $row['data'] ?></td>
              <td>
                  <?php if($row['pubblicato']==1) { ?>
                    <a href="non-pubblicato.php?ID=<?php echo $row['ID'] ?>&pag=<?php echo $pag ?>&order=<?php echo $_GET['order'] ?>">
                      <i class="fa fa-check-circle"></i>
                    </a>
                  <?php } ?>                  
                  <?php if($row['pubblicato']==0) { ?>
                    <a href="pubblicato.php?ID=<?php echo $row['ID'] ?>&pag=<?php echo $pag ?>&order=<?php echo $_GET['order'] ?>">
                      <i class="fa fa-times-circle"></i>
                    </a>
                  <?php } ?>
              </td>
              <td>
                <a title="Elimina Articolo" onclick="return confirm('Confermi di voler cancellare definitivamente l&#8217;articolo selezionato?')" href="articoli-delete.php?ID=<?php echo $row['ID'] ?>&pag=<?php echo $pag ?>">
                  <i class="fa fa-trash"></i>
                </a>
                <a title="Modifica Articolo" href="articoli-form-update.php?ID=<?php echo $row['ID'] ?>">
                  <i class="fa fa-pencil-square-o"></i>
                </a>
              </td>
            </tr>
          <?php  } ?>
      </table>
      <?php } else { ?>
        <p>Nessun record trovato</p>
      <?php } ?>
      <div class="pagination-centered">
        <ul class="pagination">
          <?php if ($pag > 1){ ?>
            <li><a href="<?php echo $_SERVER['PHP_SELF']?>?pag=1&order=<?php echo $_GET['order'] ?>">Prima</a></li>
          <?php } ?>
          <?php if ($numero_pagine > 1){ ?>
            <?php if ($pag > 1){ ?>
              <li><a href="<?php echo $_SERVER['PHP_SELF']."?pag=".($pag - 1)?>&order=<?php echo $_GET['order'] ?>">&laquo;</a></li>
            <?php } ?>
    
            <?php for ($x = 1; $x <= $numero_pagine; $x++) { ?>
              <li <?php if($pag == $x){?>class="current" <?php } ?>>
                <a href="<?php echo $_SERVER['PHP_SELF']."?pag=".$x?>&order=<?php echo $_GET['order'] ?>">
                  <?php echo $x ?>
                </a>
              </li>
            <?php } ?>
            
            <?php if ($numero_pagine > $pag){ ?>
              <li><a href="<?php echo $_SERVER['PHP_SELF']."?pag=".($pag + 1)?>&order=<?php echo $_GET['order'] ?>">&raquo;</a></li>
            <?php } ?>     
            <?php if ($numero_pagine > $pag){ ?>
              <li><a href="<?php echo $_SERVER['PHP_SELF']."?pag=".$numero_pagine?>&order=<?php echo $_GET['order'] ?>">Ultima</a></li>
            <?php } ?>  
          <?php } ?>  
        </ul>
      </div>
    

    </div>
    </div>

    <?php include("../include/footer.php"); ?>
    [/PHP]

    il mio problema è la paginazione; col codice che ho postato mi stampa tutte le pagine,
    avendo molti record me ne stampa tante, si può fare qualcosa?
    tipo una paginazione: 1 2 3 4 5 ... 10 11 12 13 14 15

    grazie mille a tutti
    buona serata