lunedì 18 marzo 2013

Ordinare una lista di elementi per la paginazione

vai all' indice generale

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