• User

    nuova impaginazione

    Carissimi sono riuscito a tirare fuori dal mio data base i dati di un archivo, funziona perfettamente o quasi: quando vado al primo record mi compare la parolina Next dopo l'11 record quindi ottengo 1-2-3-4-5-6-7-8-9-10-11 Next solo al primo mi da un errore alla riga:Notice: Undefined variable: ultimaPagina in C:\Programmi\EasyPHP 2.0b1\www\test.php on line 71 potreste aiutarmi ad eliminare l'errore io non rieco Grazie Biagio

    <?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('righi1') or die("Errore apertura database: " . mysql_error());

    /* Numero della pagina attuale */
    $page = (!isset($_GET['page']))? 1 : $_GET['page'];
    $prev = ($page - 1);
    $next = ($page + 1);

    /Setto il numero massimo di record per pagina /
    $max_results = 1;
    /
    Mi calcolo l'offset /
    $from = (($page * $max_results) - $max_results);
    /eseguo la query per recuperare il numero di dati presente nel mio db/
    $result = mysql_query("select * FROM notizieprog ORDER BY data DESC");
    $total_results = mysql_num_rows($result);
    $total_pages = ceil($total_results / $max_results);
    $pagination = '';
    /
    Creo il link "PREV" /
    if($page > 1)
    {
    $pagination .="<a href=test.php?page=".$prev."><<</a>";
    }
    /Eseguo il ciclo per visualizzare tutte le pagine che mi servono. /
    /for($i = 1; $i <= $total_pages; $i++)/
    for($i = $page; $i <= ($page + 10); $i++)
    {
    if ($i < $total_pages)
    {
    if(($page) == $i)
    {
    $pagination .= $i;
    }
    else
    {
    $pagination .= "<a href=test.php?page=".$i.">$i</a>";
    }
    }
    else
    {
    $ultimaPagina = "X";
    }
    }/END FOR/
    /
    Stampo il prossimo link /
    /
    if($page < $total_pages)
    /
    if ($ultimaPagina <> "X")//questa è la riga dove mi mada per
    l'errore**
    {
    $pagination .= "<a href=test.php?page=".$next.">Next</a>";
    }
    /eseguo la query con i parametri $from e $total_results per la paginazione/
    $result=mysql_query("select * FROM notizieprog ORDER BY data DESC LIMIT $from, $max_results ");
    while ($i = mysql_fetch_array($result))
    {
    //echo"".$i['data']."-".$i['news']."<br />";
    echo "<TABLE border='1' width=100% align=center cellpadding=0 cellspacing=0><tr>";
    echo "<td bgcolor='dfdfdf' > <font face='arial,verdana,helvetica' color='#000000' size='4'><td bgcolor='dfdfdf' width='15%'> ".$i['data']." </td><td bgcolor='dfdfdf' width='70%'>".$i['news']." </td><td bgcolor='dfdfdf' width='15%'> <a target='_blank' href='".$i['percorso']."'>apri</a></td></font></td>";
    }
    ?>
    </table>
    <?php
    echo "<table border='1' width=100% align=center cellpadding=0 cellspacing=0><tr><td align='center' bgcolor='ffffdd' > <font face='arial,verdana,helvetica' color='#000088' size='5'>".$pagination."</font></td></tr></table><br /><br />";
    ?>
    </body>
    </html>


  • User Attivo

    La variabile $ultimaPagina non è definita perchè si trova all'interno di un condizionale if.
    Per risolvere il problema inserisci $ultimaPagina = ""; all'inizio dello script.

    Ciao!


  • User

    GGGRAZIE
    ho inserito la variabile** $ultimaPagina = "";** all'inizio subito dopo il :
    (spero di non aver sbagliato)
    /* Numero della pagina attuale */
    $page = (!isset($_GET['page']))? 1 : $_GET['page'];
    $prev = ($page - 1);
    $next = ($page + 1);
    $ultimaPagina = "";
    segue....

    sembra che funzioni
    Veramente Grazie Biagio


  • User Attivo

    Va bene come hai fatto. 😉

    Ciao!


  • User

    Ciao guardanto i numeri delle pagine, specialmente quando queste sono tante, mi accorgo che vengono inserite uno dietro l'altro es: 1234567891011Next
    si potrebbero distanziare in 1 2 3 4 5 6 7 Next
    oppure Prec 2-3-4-5-6- Next dove bisognerebbe agire visto che la variabile ".$pagination." è tutta di un pezzo?
    Puoi indicarmi come fare?
    Ciao Biagio


  • User Attivo

    prova a modificare questa porzione di codice:

    $pagination .= "<a href=test.php?page=".$i.">$i</a>";
    }
    }
    else
    {
    $ultimaPagina = "X";
    }
    }/END FOR/
    /* Stampo il prossimo link /
    /
    if($page < $total_pages)*/
    if ($ultimaPagina <> "X")//questa è la riga dove mi mada per** l'errore**
    {
    $pagination .= "<a href=test.php?page=".$next.">Next</a>";
    }

    in

    $pagination .= "<a href=test.php?page=".$i."> $i </a>";
    }
    }
    else
    {
    $ultimaPagina = "X";
    }
    }/END FOR/
    /* Stampo il prossimo link /
    /
    if($page < $total_pages)*/
    if ($ultimaPagina <> "X")//questa è la riga dove mi mada per** l'errore**
    {
    $pagination .= "<a href=test.php?page=".$next."> Next</a>";
    }