lunedì 18 marzo 2013

Completare la paginazione per la pagina inziale

vai all' indice generale

Completare la paginazione per la pagina inziale

Riprendiamo l'esempio precedente e completiamo aggiungendo tutti i campi necessari ad una paginazione per quanto riguarda la pagina inziale. Siamo infatti dentro la pagina iniziale che ci porta al caricamento della home e siamo quindi sicuri di essere alla prima pagina che parte dal primo elemento. Non tocchiamo il modello e agiamo sul controllo. Questa è una scelta , si possono anche fare le operazioni seguenti dentro al modello.
Riscriviamo il controllo aggiungendo tutto quello che può servire, quindi la pagina corrente impostata ad 1, l'elemento inziale impostato a 1 , l'elemento finale di pagina calcolato secondo il parametro di paginazione :
controllo.php :

<?php
class controllo extends CI_Controller {
       public function index()
       {
             $this->load->model("modello");
             $oggetto_paginato = $this->modello->get_dati();
             $oggettiDalModello = $oggetto_paginato ["oggetti"] ;
             $pagina_corrente = 1;
             $primo_elemento_di_pagina = 1;
             $ultimo_elemento_di_pagina = $primo_elemento_di_pagina + $oggetto_paginato ["elementi_per_pagina"] - 1;
             $data["pagina_corrente"] = $pagina_corrente;
             $data["primo_elemento_di_pagina"] = $primo_elemento_di_pagina;
             $data["ultimo_elemento_di_pagina"] = $ultimo_elemento_di_pagina;
             $data["elementi_per_pagina"] = $oggetto_paginato ["elementi_per_pagina"];
             $data["ultimo_elemento"] = $oggetto_paginato ["ultimo_elemento"];
             $data["totale_pagine"] = $oggetto_paginato ["totale_pagine"];
             $data["ultimo_elemento_di_pagina"] = $ultimo_elemento_di_pagina;
             $data["oggettiDalModello"] = $oggetto_paginato ["oggetti"] ;            
             $this->load->view('home',$data);
       }
} 
 La vista si occupa di visualizzare tutti i dati :

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>home</title>
</head>
<body>
       <h1>HOME</h1>
       <?php
       echo "primo_elemento_di_pagina: " ;
       echo $primo_elemento_di_pagina ;
       echo '<br>';
       echo "ultimo_elemento_di_pagina: " ;
       echo $ultimo_elemento_di_pagina ;
       echo '<br>';
       echo "pagina_corrente: " ;
       echo $pagina_corrente ;
       echo '<br>';
       echo "elementi_per_pagina: " ;
       echo $elementi_per_pagina ;
       echo '<br>';
       echo "ultimo_elemento : " ;
       echo $ultimo_elemento ;
       echo '<br>';
       echo "totale_pagine : " ;
       echo $totale_pagine ;
       echo '<br>';
       echo "ultimo_elemento_di_pagina: " ;
       echo $ultimo_elemento_di_pagina ;
       echo '<br>';
       foreach ($oggettiDalModello as $oggetto)
       {
             if ($oggetto['id']<= $ultimo_elemento_di_pagina){
             echo $oggetto['id'];
             echo '  ';
             echo $oggetto['contenuto'];
             echo '<br>';    
             }
       }
       ?>
</body>
</html>

Si noti che abbiamo usato un ciclo for each dove potevamo anche usare un ciclo for; in questo modo abbiamo mantenuto la notazione dell'esempio precedente.
vai all' indice generale

Nessun commento:

Posta un commento