Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- //Inizializzo il seed per generare i numeri casuali in modo
- //che ogni esecuzione dello script dia risultati uguali
- srand(17642139112);
- //Uso un array come se fosse una tabella MYSQL
- //E la popolo con dati casuali
- $data = array();
- for ($i=0; $i<739; $i++)
- $data[$i] = rand(0, 100000);
- //Numero di pagina corrente
- $currentPage = $_GET['page'] ? $_GET['page'] : 1;
- //Elementi per pagina
- $maxElementsPerPage = 13;
- //Massimo numero di pagine nella paginazione
- $maxPagesInPagination = 10;
- //Mostro il 70% di $maxPagesInPagination nelle prime pagine
- $firstPagesInPagination = floor($maxPagesInPagination/100*70);
- //Il restante nelle ultime
- $lastPagesInPagination = ($maxPagesInPagination-$firstPagesInPagination);
- //Equivalente a COUNT(*)
- $dataLength = count($data);
- $pagesNumber = ceil($dataLength/$maxElementsPerPage);
- //Equivalente di un SELECT con LIMIT appropriato
- $data = array_slice($data, ($currentPage-1)*$maxElementsPerPage, $maxElementsPerPage);
- //Stampo la tabella
- ?>
- <table>
- <?php foreach ($data as $k => $v){ ?>
- <tr>
- <td><?php echo $k+1; ?></td>
- <td><?php echo $v; ?></td>
- </tr>
- <?php } ?>
- </table>
- <div class="navigation">
- <?php
- //Stampo la barra di navigazione con i links alle altre pagine
- //Pagina precedente
- if ($currentPage!=1){ ?>
- <a href="?page=<?php echo $currentPage-1; ?>"><<</a>
- <?php }
- //Tutte le pagine
- $counter = 0;
- for ($i=1; $i<=$pagesNumber; $i++){
- if ($counter<$firstPagesInPagination){
- if ($i==$currentPage){ ?><strong><?php }
- ?><a href="?page=<?php echo $i; ?>"><?php echo $i; ?></a> <?php
- if ($i==$currentPage){ ?></strong><?php }
- }else{
- ?> ... <?php
- $i = $pagesNumber-$lastPagesInPagination;
- $counter = $firstPagesInPagination-$lastPagesInPagination-1;
- }
- $counter++;
- }
- //Pagina successiva
- if ($currentPage!=$pagesNumber){ ?>
- <a href="?page=<?php echo $currentPage+1; ?>">>></a>
- <?php }
- ?>
- </div>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement