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