Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [PHP] - Spaginamento

  1. #1

    [PHP] - Spaginamento

    Ciao ragazzi,
    devo creare uno spaginamento per le news, praticamente voglio che nello spaginamento mi vengano mostrate le pagine in questo modo:

    1 2 3 4 5 6 7 8 9 10 >>

    Praticamente le prime dieci e >> indica che vado alle successive 10, quindi il blocco successivo sarà:

    << 11 12 13 14 15 16 17 18 19 20 >>

    ancora più avanti avrò:

    << 61 62 63 64 65 66 67 68 69 70 >>

    Come faccio?

  2. #2
    i concetti che di base ti permettono di fare questo li trovi qua
    http://forum.html.it/forum/showthrea...=&pagenumber=1

    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  3. #3
    Mi rispondo da solo xkè ho trovato la soluzione, quindi nel caso a qualcuno servisse, la metto a disposizione di tutti.



    $result = mysql_query("SELECT COUNT(id) FROM tabella;");
    $numero = mysql_fetch_row($result);
    $tot_righe = $numero[0];

    $max_pagina = 5;
    $totale_pagine = ceil($tot_righe / $max_pagina);
    if (!isset($_GET['page'])) {
    $current_page = 1;
    } else {
    $current_page = (int)$_GET['page'];
    }
    $primo = ($current_page - 1) * $max_pagina;



    Questa parte di codice mi consente di sapere quante pagine sono necessarie per visualizzare tutti gli elementi e per effettuare la query seguente di estrazione dati dal database.

    $query_sel="SELECT * FROM tabella ORDER BY campo LIMIT $primo, $max_pagina;";

    Qui ora fate il vostro ciclo while o for (per la visualizzazione dei dati), come vi trovate meglio.

    Poi create uno spazio, una tabella, un div, quello che volete dove appaia lo spaginamento, che è la seguente porzione di codice:

    if($totale_pagine != 0) {
    $inizio=ceil($current_page/10)-1;
    if ((($inizio*10)+1)>10) {
    echo "<a href=\"$PHP_SELF?page=".(($inizio*10)+1-10)."\"><<</a> ";
    }

    for($iPages=(($inizio*10)+1); (($iPages<=$totale_pagine) && ($iPages<=(($inizio*10)+10))); $iPages++ ) {
    if($iPages==$current_page) { echo $iPages.""; //pagina corrente
    } else {
    echo "<a href=\"".$PHP_SELF."?page=".$iPages."\" class=\"spag\">".$iPages."</a>";
    }
    }
    if ($totale_pagine >= ((($inizio+1)*10)+1) ) {
    echo "<a href=\"$PHP_SELF?page=".($iPages)."\">>></a>";
    }
    }


    Se avete qualche problema contattatemi pure.
    Ciao a presto

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.