• User

    ancora impaginazione

    Buonasera
    Questa è una pagina costruita per vedere tutte le news inserite nel mio db,ho la necessità di fare vedere in ogni pagina un numero di 10-20 record per pagina.se i record sono più di un 100naio vi è la necessità di dividere il numero di record.
    Domanda qualcuno mi può aiutare per come inserire una paginazione? ho provato diversi script ma non essendo un esperto non ci sono riuscito.
    Grazie per chi vorrà completare questo script.
    <html>
    <body>
    <table width="95%" border="1" cellspacing="0" cellpadding="1" align="center">
    <tr>
    <td colspan="3" bgcolor="#000066">
    <div align="center"><font color="#FFFFFF"><b>VEDI TUTTE LE NEWS INSERITE IN AREA PROGETTI</b></font></div></td>
    </tr>
    <tr>
    <td width="10%" >
    <div align="center"><b>Data</b></div>
    </td>

    <td>
    <div align="center"><b>Contenuto</b></div>
    </td>
    <td width="15%">
    <div align="center"><b>Vedi Notizia</b></div>
    </td>

    <?php

    $db_username = 'root';
    $db_password = '';
    $db_host = 'localhost';

    $link = mysql_connect("$db_host", "$db_username","$db_password") or die("Errore connessione: ". mysql_error());
    mysql_select_db('pupo') or die("Errore apertura database: " . mysql_error());

    $strsql = "SELECT idnotizia,data,percorso,news FROM notizieprog ORDER BY data DESC ";
    $rs = @mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error());

    while ($riga = mysql_fetch_array($rs)) {
    $str_id = $riga['idnotizia'];
    $str_data= $riga['data'];
    $str_percorso= $riga['percorso'];
    $str_news = $riga['news'];

    echo "<tr><td align='left'>$str_data</td><td align='left'> $str_news</td><td>
    <a target='_blank' href="$str_percorso">Apri</a>
    </td> ";

    }
    ?>

    </table>
    </body>
    </html>


    ho provato questo script, che ho trovato sotto internet riesco a vedere solo il numero delle pagine ma non riesco a vedere i dati e collegarlo alla mio lavoro.Non è necessario questo script accetto qualsiasi forma o script adeguato Grazie Biagio

    function pagination_4($total_pages,$page){
    global $webpage;
    $pagination="";
    if($total_pages!=1){
    /Impostiamo il numero massimo di elementi visualizzabili all'apertura della patina, in questo caso 10;/
    $max = 10;
    //Usiamo questa variabile nel cilco for piu sotto;
    $max_links = $max+1;
    $h=1;
    //Se la pagina è > di $max_links
    if($page>$max_links){
    //Facciamo partire il nostro loop
    $h=(($h+$page)-$max_links);
    }
    //Se la pagina non è l'unica
    if($page>=1){
    //estendiamo il nosto range di link visualizzabili
    $max_links = $max_links+($page-1);
    }
    //Se il numero massimo di link visualizzabili, supera il numero totale delle pagine, allora il numero di links è =numero totale di pagine
    if($max_links>$total_pages){
    $max_links=$total_pages+1;
    }
    //Creiamo i link prima e prev
    if($page>1){
    $pagination.="<a href=".$webpage."?page=1><small>prima</small></a>
    <a href=".$webpage."?page=".($page-1).">Prev</a>";
    }
    //Creiamo le pagine linkate
    for ($i=$h;$i<$max_links;$i++){
    if($i==$page){
    $pagination.="<a>".$i."</a>";
    }
    else{
    $pagination.="<a href=".$webpage."?page=".$i.">".$i."</a>";
    }
    }
    //Creiamo i link Next last buttons
    if(($page >="1")&&($page!=$total_pages)){
    $pagination.="<a href=".$webpage."?page=".($page+1).">Next</a>
    <a href=".$webpage."?page=".$total_pages."><small>Last</small></a>";
    }
    }
    //if one page of results
    else{
    $pagination.="";
    }

    return($pagination);
    }
    echo pagination_4($total_pages,$page);

    Risultato : prima PREV 1 2 3 4 5 6 7 8 9 10 Next ultima
    in questo particolare caso, vengono visualizzate le prime 10 pagine.se ve ne sono altre, ad esempio 7, questo è il risultato, se clicchiamo su Next:
    risultato: prima Prev 7 8 9 10 11 12 13 14 15 16 Next ultima


  • Bannato User Attivo

    Risultato : prima PREV 1 2 3 4 5 6 7 8 9 10 Next ultima
    in questo particolare caso, vengono visualizzate le prime 10 pagine.se ve ne sono altre, ad esempio 7, questo è il risultato, se clicchiamo su Next:
    risultato: prima Prev 7 8 9 10 11 12 13 14 15 16 Next ultima

    questo script l'ho usato pure io... funziona in quel modo... ti fa vedere per un massimo di 10 pgine... è coodo se si ha molti dati...

    $pagination="";

    quel pezzo di codice deve rimanere vuoto se non si passano variabili nell'indirizzo.. ma se non ti funziona è perchè passi le variabili
    esempio senza variabili:
    nomesito.it/index.php
    esempio con variabili:
    nomesito.it/index.php?variabile=qualcosa
    a sto punto: $pagination="variabile=qualcosa";
    o meglio passarci una variabile $pagination="$variabile";


  • User

    Grazie per aver risposto, non sono un esperto altrimenti più che chiedere darei notizie.
    Non riesco a capire come collegare i due script per aver il risultato voluto.
    nel secondo script non vedo come estrarre i dati dal mio db e formattarli come ho fatto nella prima parte .Puoi collegARE I DUE SCRIPT E FARNE UNO FUNZIONANTE?
    CIAO BIAGIO