Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di nourdine
    Registrato dal
    Nov 2005
    Messaggi
    1,130

    paginatore per blog in php

    mi sto facendo un blog: come faccio a creare la paginazione con php. voglio solo n articoli per pagina e vorrei che venisser creata automaticamente la paginazione quando si eccede il numero di articoli che ho postato. ES: se ho 32 articoli in db e voglio 8 articoli per pagina il sistema deve creare 4 pagine autonomamente!

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    525
    Ciao, ti passo il metodo che utilizzo da parecchio, da qdo l'ho scoperto da un post su qsto forum ( e si... ne ho imparate parekkie qua!)
    Nel file dove visualizzi i dati inserisci queste variabili:

    //memorizzi la query con cui prelevi i dati da visualizzare, con le relative condizioni da applicare se necessario filtrare i dati

    $query = "SELECT id FROM $table";
    $recordxpag = 8;
    $n=3;
    require("calcolo_pag.php");

    Poi si tratta di avere due file:
    Il primo è qsto e lo chiamo calcolo_pag.php

    $res = mysql_query($query);
    //echo "q=".$query;
    //echo mysql_error();
    $righe = @mysql_num_rows($res);
    $numpag = ceil($righe/$recordxpag);

    if ($righe>=1)
    {
    $da = ((@$pag-1) * $recordxpag);
    $a = $da + $recordxpag;
    if ($a > $righe)
    {
    $a=$righe;
    }
    /**/
    if ($da<0) $da=0;
    /**/
    //echo "
    da:".$da;
    //echo "
    a:".$a;

    }

    /*fine paginazione*/

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    525
    Poi in $query_2 memorizzi la stringa della query che ti visualizzerà i dati in una tabella, se previste applichi le stesse condizioni della prima query (la base di dati deve essere uguale) e aggiungi l'ordinamento dei campi se nec. poi limita la visualizzazione dei record in base ai valori calcolati nel file precedente.
    La variabile $querystring è utilizzata se è necessario passare dei valori da una pagina all'altra qdo si clicca sui diversi numeri (1-2-3 o relative freccette < >)


    $query_2="SELECT $campi FROM $table $condiz ORDER BY $campo DESC LIMIT $da, $recordxpag";

    $querystring= "ordinamento=$ordinamento&ordine=$ordine&modo=$mod o";
    //$querystring.="".$qs; //eventuali parametri nella condizione where


    Poi prosegui nello sviluppo della pagina, visualizzando i dati
    Infine, inserisci il file che ti visualizza i numerini x spostarsi tra le pagine:

    <table border="0" width='100%'><tr><td align='center' ><font size='1'>Pag </font><? include("vis_link.php"); ?></td></tr></table>

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    525
    Ecco il file che visualizza i link (vis_link.php)
    <?
    /*
    Creare una classe di stile chiamata "selected" e assegnarle un
    colore diverso da quello dei normali link, sarà usato per indicare la pagina corrente nel minimenu' dei link.
    */

    //tutto il codice seguente non richiede configurazioni

    // non usando gli array $_GET o $_POST la paginazione funziona sia passando $pag tramite link sia tramite form con metodo post
    //@$pag = isset($_GET)? $_GET['pag'] : $HTTP_GET_VARS['pag'];

    if (!@$pag){$pag=1;}//apre di default la prima pagina se non è impostata la variabile $pag

    if($numpag <= $n){
    if ($pag>1){
    echo("<A HREF=?pag=".($pag-1)."&$querystring><</A>");
    }

    for ($pagina = 1; $pagina <= $numpag; $pagina++){
    if ($pagina == $pag){
    echo("<SPAN CLASS=selected>$pagina </SPAN>&nbsp");
    }
    else{
    echo(" $pagina &nbsp");
    }
    }

    if ($pag<$numpag){
    echo("<A HREF=?pag=".($pag+1)."&$querystring>></A>");
    }

    }

    else if($pag <= ceil($n/2)){ //prime pag --> stampa primi n
    if ($pag>1){
    echo("<A HREF=?pag=".($pag-1)."&$querystring><</A>");
    }

    for ($pagina=1; $pagina<=$n; $pagina++){
    if ($pagina == $pag){
    echo("<span CLASS=selected> $pagina </span>&nbsp");
    }
    else{
    echo(" $pagina&nbsp");
    }
    }

    echo("<A HREF=?pag=".($pag+1)."&$querystring>></A>");
    echo(" >> &nbsp");
    }

    else if($pag>$numpag-ceil($n/2)){ //ultime pag --> stampa ultimi n
    echo(" << &nbsp");
    echo("<A HREF=?pag=".($pag-1)."&$querystring><</A>");

    for ($pagina=$numpag-$n+1; $pagina<=$numpag; $pagina++){
    if ($pagina == $pag){
    echo("<span class=selected> $pagina </span>&nbsp");
    }
    else{
    echo(" $pagina &nbsp");
    }
    }
    if ($pag<$numpag){
    echo("<A HREF=?pag=".($pag+1)."&$querystring>></A>");
    }

    }

    else { //pagine centrali --> stampa n/2 prima ed n/2 dopo
    echo(" << &nbsp");
    echo("<A HREF=?pag=".($pag-1)."&$querystring><</A>");

    for ($pagina=$pag-ceil($n/2-1); $pagina<=$pag+ceil($n/2-1); $pagina++){
    if ($pagina == $pag){
    echo("<span CLASS=selected> $pagina </span>&nbsp");
    }
    else
    {
    echo(" $pagina &nbsp");
    }
    }

    echo("<A HREF=?pag=".($pag+1)."&$querystring>></A>");
    echo(" >> ");
    }


    ?>

  5. #5
    vedi se può tornarti utile
    http://www.devpro.it/php4_id_83.html
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  6. #6
    Utente di HTML.it L'avatar di nourdine
    Registrato dal
    Nov 2005
    Messaggi
    1,130

    grazie

    sei un drago cazzo! io conosco metà dei processi chiamati in causa qui! stanotte studio

    cheers

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.