• User

    Paginazione dei dati

    Salve ragazzi!

    Sto imparando a mettere in pagina i dati estratti dal db. Ho trovato una semplice guida e seguendola passo passo l'ho completata.
    Solo che c'è un problema! Mi estrae solo 5 elementi nella prima pagina come ho impostato ma mi da alcuni errori che non riesco a riparare...Qualcuno può aiutarmi? Vi posto lo screen degli errori e il codice completo...

    Screen
    img651.imageshack.us/img651/6484/immaginelc.jpg

    Codice:
    [PHP]<?php
    //Numero di record da mostrare in una pagina
    $x_pag = 5;

    //Recupero della pagina corrente
    $pag = $_GET['pag'];

    //Pag è valorizzato?
    if (!$pag) $pag = 1;

    //Dati del mio database
    $nomehost = "---";
    $nomeuser = "---";
    $password = "---";
    $dbname = "---";

    //Connessione al database
    $connessione = mysql_connect($nomehost,$nomeuser,$password) or die ("mysql_error()");

    //selezione database login
    $database_select = mysql_select_db($dbname, $connessione) or die ("mysql_error()");

    //Selezione db per estrarre la news
    $all_news = mysql_query("SELECT autore, title, news FROM news");

    //Conto le righe
    $num_row = mysql_fetch_row($all_news);

    //Tutte le pagine
    $all_page = ceil($all_row / $_xpag);

    //Primo record
    $first = ($pag - 1) * $x_pag;

    //Recuperare i record
    $rec_rec = mysql_query("SELECT * from news LIMIT $first, $x_pag");
    $nr = mysql_num_rows($rec_rec);
    if ($nr != 0){
    for($x = 0; $x < $nr; $x++){
    $row = mysql_fetch_assoc($rec_rec);
    echo "<table><tr>";
    echo "<td>" . $row['id_news'] . "</td>";
    echo "<td>" . $row['title'] . "</td>";
    echo "<td>" . $row['news'] . "</td>";
    echo "<td>" . $row['autore'] . "</td>";
    echo "</tr></table>";
    }
    }else{
    echo "Nessun record trovato!";
    }

    // Se le pagine sono più di uno stampo i link per andare avanti
    if ($all_pages > 1){
    if ($pag > 1){
    echo "<a href="" . $_SERVER['PHP_SELF'] . "?pag=" . $pag - 1 . "">";
    echo "Pagina Indietro</a> ";
    }
    if ($all_pages > $pag){
    echo "<a href="" . $_SERVER['PHP_SELF'] . "?pag=" . $pag + 1 . "">";
    echo "Pagina Avanti</a>";
    }
    }
    ?>[/PHP]

    Si accettano consigli di tutti i tipi anche per consigli per migliorare la scrittura non solo per risolvere il problema (però aiutatemi xD) 😛


  • User Attivo

    Le variabili sono indefinite....
    L'ultimo errore ti dice che non può eseguire una divisione per zero, puoi eliminare questo errore con l'operatore silence.. cioè mettendo una semplice @ prima della variabile...
    esempio :
    [PHP]
    @$variabile
    [/PHP]
    Ciao


  • User Attivo

    Le variabili sono indefinite....
    L'ultimo errore ti dice che non può eseguire una divisione per zero, puoi eliminare questo errore con l'operatore silence.. cioè mettendo una semplice @ prima della variabile...
    esempio :
    [PHP]
    @$variabile
    [/PHP]
    Ciao