Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Paginazione Php

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    323

    Paginazione Php

    Salve a tutti. Io ho questa funzione che stampa i numeri delle pagine di una query MYSQL:

    function displayPaging()
    {
    if($this->openPage<=0) {
    $next = 2;
    }

    else {
    $next = $this->openPage+1;
    }
    $prev = $this->openPage-1;
    $last = $this->pages;;

    if($this->openPage > 1) {

    echo "<a href=http://127.0.0.1/search.php/$prev>$prev</a>";
    }
    else {
    echo "[*]PREV";
    }
    for($i=1;$i<=$this->pages;$i++) {
    if($i == $this->openPage)
    echo "<a href=http://127.0.0.1/search.php/$i>$i</a>";
    else
    echo "<a href=http://127.0.0.1/search.php/$i>$i</a>";
    }

    if($this->openPage < $this->pages) {
    echo "<a href=http://127.0.0.1/search.php/$next>$next</a>";
    }
    else {
    echo "[*]NEXT";
    }
    }
    Se tengo cosi' questa funzione mi stampa tutte le pagine , se ad esempio ho 20 pagine mi stampa:
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

    Io vorrei stampare solo 10 pagine alla volta:
    1 2 3 4 5 6 7 8 9 10

    se clicca 10 mi stampi
    10 11 12 13 14 15 16 17 18 19.

    Come dovrei modificare il codice?
    Grazie a tutti

  2. #2
    Ti consiglio questo ottimo articolo sulla paginazione dei dati:
    http://php.html.it/articoli/leggi/85...one-di-dati/1/
    Coltiva Linux, Windows si pianta da solo!

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    323
    Grazie, l'ho gia' visto, ma quell'esempio mostra tutte le pagine , non 10 alla volta come vorrei fare io.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    323
    Quel che vorrei fare io é stampare a video 5 pagine avanti e 5 pagine indietro.

    Se ad esempio sono a pagina 3

    1 2 (3) 4 5 6 7 8

    Se sono a pagina 10

    7 6 7 8 9 (10) 11 12 13 14 15

    Come potrei fare?

    grazie a tutti.

  5. #5
    Puoi usare questo:
    Codice PHP:

    $lim 
    5//Le pagine da mostrare prima e dopo

    $prima = ($this->page-$lim <= 1) ? $this->page-$lim;
    $ultima = ($this->page+$lim $this->pages) ? $this->pages $this->page+$lim;
    for(
    $i=$prima;$i<=$ultima;$i++) {
        if(
    $i == $this->page)
            echo 
    "[url="http://127.0.0.1/search.php/$i>($i)</a>"]$i[/url] ";

    Coltiva Linux, Windows si pianta da solo!

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    323
    Grazie mille, funziona. Grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.