Visualizzazione risultati 1 fino 6 di 6

Discussione: Errore nella paginazione

  1. #1
    Guest

    Predefinito Errore nella paginazione

    Salve a tutto il forum. Ho il seguente problema: Da una tabella mysql mi scarico dei record che fanno parte di un guestbook e li voglio paginare a gruppi di 5 record. solo che quando carico la pagina la prima volta mi da questo errore:Notice: Undefined index: pag in c:\programmi\easyphp1-8\www\prova cookie\visualizzaold.php on line 37. Questo è il codice:
    Codice PHP:
    #numero di record per pagina
    $PHP_SELF = $_SERVER['PHP_SELF'];
    global
    $flag;
    $appopag = 5;
    $flag = 1;
    $pag = $_GET['pag'];
    if(!
    $pag){
    $pag = 1;

    }


    echo
    "pag vale $pag <br>";
    $connessione = mysql_connect($server,$user,$pass) or die("connessione mysql fallita");
    $db = mysql_select_db("prova",$connessione)or die("connessione db fallita" .mysql_error());
    $query = "select nome,testo,datains,orains,email from tabg order by datains && orains desc";
    $risultato = mysql_query($query) or die("problema connessione tabella" .mysql_error());
    $numerorec = mysql_num_rows($risultato);
    $paginetot = ceil($numerorec / $appopag);
    echo
    "pagine totali $paginetot <br>";
    #Calcolo da quale record iniziare
    $primo = ($pag - 1) * $appopag;
    $estrai = mysql_query("select * from tabguestbook limit $primo,$appopag");
    $nr = mysql_num_rows($estrai);
    echo
    "estrai rec $nr <br>";
    if(
    $nr != 0){
    for(
    $ind = 0; $ind < $nr; $ind++)
    {
    $rec = mysql_fetch_array($estrai);
    echo
    "<table>";
    echo
    "<tr>";
    echo
    "<td>" . $rec['nome'] . "</td>";
    echo
    "<td>" . $rec['testo'] . "</td>";
    echo
    "<td>" . $rec['datains'] . "</td>";
    echo
    "<td>" . $rec['orains'] . "</td>";
    echo
    "</tr>";
    echo
    "</table>";
    }
    }else{
    echo
    "Nessun record trovato";
    }
    #Se le pagine totali sono piu di 1 stampo il link per andare avanti e indietro tra le diverse pagine

    if($paginetot > 1){

    if(
    $pag > 1){
    $flag = 0;
    $pag = $pag - 1;

    echo
    "sono qui pagina indietro pag vale $pag<br>";
    echo
    "<a href = '$PHP_SELF?pag=$pag'>";
    echo
    "Pagina indietro</a>";
    }

    if(
    $paginetot > $pag ){
    if(
    $flag == 1){
    $pag = $pag + 1;
    }else{
    $pag = $pag + 2;
    }
    echo
    "sono qui pagina avanti pag vale $pag<br>";
    echo
    "<a href = '$PHP_SELF?pag=$pag'>";
    echo
    "Pagina Avanti</a>";
    }


    }
    mysql_close($connessione);
    L'errore lo da nell'istruzione $pag = $_GET['pag']. Non so come gestirla anche perche' se vado avanti con la paginazione il tutto funziona. E' solo al caricamento della priva volta. Aiutatemi

  2. #2
    Guest

    Predefinito

    prova a sostituire:
    Codice PHP:
    echo "</table>";
    }
    }else{
    echo
    "Nessun record trovato";
    }
    con
    Codice PHP:
    echo "</table>";
    } else
    {
    echo
    "Nessun record trovato";
    }
    Ciao!! ^_^

  3. #3
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Prova a sostituire questo pezzo di codice:
    Codice PHP:
    $pag = $_GET['pag'];
    if(!
    $pag){
    $pag = 1;

    }
    Con questo:
    Codice PHP:
    $pag=isset($_GET['pag'])?$_GET['pag']:1;
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  4. #4
    Guest

    Predefinito

    grazie funcool funziona. Ma il codice che significa che imposta la variabile quando la stessa e' uguale a 1?

  5. #5
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Se esiste $_GET['pag'] (quindi viene passato come parametro nell'URL pag), a $pag viene assegnato il valore di $_GET['pag'], altrimenti gli viene assegnato 1. E' uguale a scrivere:
    Codice PHP:
    if (isset($_GET['pag']))
    $pag=$_GET['pag'];
    else
    $pag=1;
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  6. #6
    Guest

    Predefinito

    Grazie......disponibilissimo

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •