Ordinare una lista di elementi per la paginazione
Riprendiamo l'esempio precedente .Modifichiamo il modello aggiungendo la funzione:
function imposta_paginazione($oggetti){
$elementi_per_pagina
= 5;
$ultimo_elemento
= 0;
foreach ($oggetti as $oggetto)
{
$ultimo_elemento
= $oggetto["id"];
}
$totale_pagine
= floor($ultimo_elemento/$elementi_per_pagina) + 1;
$oggetto_paginato
["elementi_per_pagina"] =
$elementi_per_pagina;
$oggetto_paginato
["ultimo_elemento"] = $ultimo_elemento;
$oggetto_paginato
["totale_pagine"] = $totale_pagine;
$oggetto_paginato
["oggetti"] = $oggetti;
return $oggetto_paginato;
}
Adesso modifichiamo la funzione passando gli elementi recuperati alla paginazione :
function get_dati()
{
$mioarray =
$this->recupera_dati();
$oggetti =
$this->aggiungi_indice($mioarray);
$oggetti_paginati
= $this-> imposta_paginazione($oggetti);
return $oggetti_paginati;
}
riscriviamo il controllo in modo da stampare a video le nuove informazioni recuperate :
<?php
class controllo extends CI_Controller
{
public function index()
{
$this->load->model("modello");
$oggetto_paginato =
$this->modello->get_dati();
echo "elementi_per_pagina:
" ;
echo $oggetto_paginato ["elementi_per_pagina"] ;
echo '<br>';
echo "ultimo_elemento
: " ;
echo $oggetto_paginato ["ultimo_elemento"] ;
echo '<br>';
echo "totale_pagine
: " ;
echo $oggetto_paginato ["totale_pagine"] ;
echo '<br>';
$oggettiDalModello =
$oggetto_paginato ["oggetti"] ;
foreach ($oggettiDalModello as $oggetto)
{
echo $oggetto['id'];
echo ' ';
echo $oggetto['contenuto'];
echo '<br>';
}
}
}
Quello che abbiamo fatto è da considerarsi propedeutico per impostare una paginazione per gli elementi. Alla fine a video avremo :elementi_per_pagina: 5
ultimo_elemento : 17
totale_pagine : 4
1 link1
2 link2
3 link3
4 link4
5 link5
6 link6
7 link7
8 link8
9 link9
10 link10
11 link11
12 link12
13 link13
14 link14
15 link15
16 link16
17 link17
vai all' indice generale
Nessun commento:
Posta un commento