Visualizzazione dei risultati da 1 a 5 su 5

Discussione: paginazione dati

  1. #1

    paginazione dati

    ciao a tutti
    so che è un argomento trattato di frequente, ma spero possiate aiutarmi a personalizzare la mia paginazione dei dati

    guardando l'articolo in questo sito sono riuscito ad ottenere una paginazione che mostra tutti i numeri di pagine disponibili, con questo codice:

    codice:
    function generate_links($page)
    {
          include('include/config.inc.php');
          
          // esecuzione prima query
    $count = mysql_query("SELECT COUNT(id) FROM link");
    $res_count = mysql_fetch_row($count);
    
    // numero totale di records
    $tot_records = $res_count[0];
    
    // risultati per pagina(secondo parametro di LIMIT)
    $per_page = 25;
    
    // numero totale di pagine
    $tot_pages = ceil($tot_records / $per_page);
    
    // pagina corrente
    //$current_page = (!$_GET['page']) ? 1 : (int)$_GET['page'];
    
    // primo parametro di LIMIT
    $primo = ($page - 1) * $per_page;
    
    //echo "<div align=\"center\">\n<table>\n";
    
          
          $qlinks = "SELECT * FROM link LIMIT $primo,$per_page";
       
          $qlinksexe = mysql_query($qlinks) or die("Errore Home Message: " . mysql_error());
          
           while( $row = @mysql_fetch_assoc($qlinksexe) ) 
           {    
                $links .= implode("",file($template_dir."links_exchange.tpl"));
                $links = eregi_replace("", $row['titolo'], $links);
                $links = eregi_replace("", $row['indirizzo'], $links);
                $links = eregi_replace("", $row['descrizione'], $links);
                
           }
           $paginazione = "Pagine totali: " . $tot_pages . "[";
           for($i = 1; $i <= $tot_pages; $i++) 
           {
                if($i == $current_page) 
                {
                    $paginazione .= $i . " ";
                }
                else 
                {
                    $paginazione .= "<a href=\"?page=$i\" title=\"Vai alla pagina $i\">$i</a> ";
                }
           }
           $paginazione .= "]";
           $links .= $paginazione;
           
           return $links;
    }
    questo mi stampa un risultato di paginazione cosi:
    codice:
    Pagine totali: 2[1 2 ]
    che ci sta dentro ma non è quello che vorrei ottenere io.
    mi piacerebbe ottenere un qualkosa del tipo:

    se mi trovo da pagina 1 a pagina 3:

    1 2 3 4 5 ...>

    da pagina 4 in poi mi piacerebbe ottenere qualkosa del genere:

    <.. 2 3 4 5 6 ..>

    poi all'ultima pagina disponibile, facciamo un esempio se l'ultima pagina possibile fosse la 7 vorrei ottenere qualkosa cosi:

    <.. 3 4 5 6 7

    spero tanto possiate aiutarmi
    vi ringrazio anticipatamente
    ciao
    punkrazio

  2. #2

  3. #3
    Purtroppo ci dovrei un po' ragionare per applicarlo al tuo caso e ora non ho tempo, però ti posso indicare un buon tutorial (in inglese) che fa al caso tuo.

    Da Codewalkers

    La parte che t'interessa è questa:

    Now, finally we can begin our navigation:

    <?php
    echo '&lt;div&gt;&lt;p align="center"&gt;';
    echo ($pg &gt; 1) ? "$first : $prev :" : '&amp;#171; : &amp;#139; :';
    ?>


    Above we open with a div tag, and draw the previous and next links only if we're not on the first page (otherwise we don't need them linked). Below is where we actually draw the page numbers. I've hard-coded my version to display a minimum of 5 links (if we're at the beginning or end of the total number of pages), or a maximum of 10 links (if we're somewhere in the middle of the total number of pages).

    <?php
    $begin = $pg - 4;
    while($begin &lt; 1)
    $begin++;
    $end = $pg + 4;
    while($end &gt; $pages)
    $end--;

    for($i=$begin; $i&lt;=$end; $i++)
    echo ($i == $pg) ? ' ['.$i.'] ' : ' &lt;a href="'.
    $_SERVER['PHP_SELF'].$query_str.$i.'"&gt;'.$i.'&lt;/a&gt; ';
    ?>


    I'm basically just setting a $begin and $end variable ($pg + and - 4, plus the current page = 10 page links). I use the while() loops to make sure I'm not creating links to pages that don't exist. In the last line of code above, I draw links for every page in my range of page numbers, except for the current page which is instead placed inside brackets. Now we can close off the div:


    Spero di esserti stato utile, ciao.

  4. #4
    ok grazie mo do un occhiata all'originale completo
    intanto c'è nessun altro che può provare a guardare il mio caso perfavore??

  5. #5
    up plz



    ho provato a dare un occhiata al codice del tutorial
    ma non so proprio dove mettere le mani
    chi mi aiuta perfavore?

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.