Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    visualizzare x record per ogni pagina..

    miao,
    ho provato a cercare ma nn sono riusctio a trovare nulla che sia riuscito a capire...
    qualcuno mi può spiegare (meglio se lo fa direttamente.. ) come posso fare?
    ecco il mio codice nel quale dovrei inserire la suddivisione delle pagine.
    <?php>
    $username = "nasosan";
    $host = "localhost";
    $database = "my_nasosan";
    $db = mysql_connect($host, $username ) or die("Errore durante la connessione al database");
    mysql_select_db($database, $db) or die("Errore durante la selezione del database");
    $sql = 'select * from dati_temp';
    $ris = mysql_query($sql,$db) or die("Errore nella query: " . mysql_error());
    $righe = mysql_num_rows($ris); /* $righe riceve il numero di righe restituite dalla select */
    mysql_query($sql,$db) or die("Errore nella query: " . mysql_error());
    $righe = mysql_affected_rows($db); /* $righe riceve il numero di righe modificate dall'UPDATE */
    while($riga = mysql_fetch_array($ris))
    {
    print"<table width = 100% border =0>
    <COL width = 25%>
    <COL width = 25%>
    <COL width = 25%>
    <COL width = 25%>
    <TD><CENTER>04/03/2005
    </TD>
    <TD><CENTER>$riga[mese] $riga[anno]</TD>
    <TD><CENTER>$riga[meseprec] $riga[anno]</td>
    <tD><CENTER>$riga[mese] $riga[annoaprec]</td></center>
    </TABLE>";
    }
    $sql = 'select * from temp order by aa, mm, gg';
    $ris = mysql_query($sql,$db) or die("Errore nella query: " . mysql_error());
    $righe = mysql_num_rows($ris); /* $righe riceve il numero di righe restituite dalla select */
    mysql_query($sql,$db) or die("Errore nella query: " . mysql_error());
    $righe = mysql_affected_rows($db); /* $righe riceve il numero di righe modificate dall'UPDATE */

    while($riga = mysql_fetch_array($ris))
    {
    print"<U>Giorno:</U> $riga[gg]<U>Mese:</U> $riga[mm]<U>Anno:</U> $riga[aa]
    ";
    print"Temp. Min.: <U>$riga[tmin]</u>";
    print" Temp. Max.: <u>$riga[tmax]</u>";
    print" Umidità Min.: <u>$riga[umin]</u>";
    print" Umidità Max.: <u>$riga[umax]</u>";
    print" Ora Registrazione: <u>$riga[ora]</u>";
    print" Temperatura: <u>$riga[temp]</u>";
    print" Umidità: <u>$riga[umidita]</u>";
    print" Previsione: <u>$riga[previsione]</u>";
    print" Situazione: <u>$riga[situazione]
    </u>";
    }
    ?>

    GRAZIE.!
    Lunga Vita e prosperità!
    Foto e video di Adriana Lima-->http://www.nasosan.it

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    think simple think ringo

  3. #3
    Codice PHP:
    // quanti records per pagina?
        
    $pageSize 10;

        
    // query per contare quanti record ci sono nel db     
        
    $queryTot "SELECT COUNT(*) FROM $tabella";

        
    // esegue la query per il conteggio ..
        
    $ris_totale mysql_query($queryTot) or die($errorString);
        
    $arr_totale mysql_fetch_row($ris_totale);

        
    // qui ho il totale dei record nell'elemento 0 dell array
        
    $totale $arr_totale[0];

         
    // qui ho la pagina corrente
         
    $pagina = ($_GET["pag"] != "") ? (int)$_GET["pag"] : 1;

         
    // da che record iniziare a prendere i valori
         
    $begin = ($pagina-1) * $pageSize;
         
         
    // quante pagine?
         
    $countPages ceil($totale $pageSize);
       
        
    // query per prelevare i valori dal record iniziale della pagina fino al max da visualizzare..
       
    $query="SELECT * FROM tabella ORDER BY id DESC LIMIT $begin$pageSize";
        
    // eseguo la query 
        
    $result mysql_query ($query);

        
    // carica in row il contenuto del record corrente ogni volta.. e quando non ci sono più records restituisce FALSE!
        
    while($row mysql_fetch_array($result)){
        
    //STAMPA IL CONTENUTO usando $row 
        
        // Liberazione delle risorse..
        
    mysql_free_result($result);


        
    /* Se il numero totale dei record è maggiore dei record stampati in una pagina e il numero 
           delle pagine è maggiore della pagina corrente allora metto un link sotto a quello che c'è prima.. 
           quindi sotto ai records che ha stampato in quella pagina.. */
        
    if ($totale $pageSize && $countPages $pagina) {
         echo 
    "[url='?pag=" . ($pagina+1) . "']Pagina successiva --&gt;[/url]";
        }

        
    // Se ci fossero pagine precedenti, vado indietro
        
    if ($pagina 1) {
         echo 
    "

    [url='?pag=" 
    . ($pagina-1) . "']&lt;--- Pagina precedente[/url]";
        }

        
    // Non ci sono pagine
        
    if($totale == 0){
            print(
    "<P class='nota'> Non ci sono $tabella nel database</P>");
        }else{
            
    // stampa il numero delle pagine
            
    print("<P class='nota'>Ci sono $totale $tabella nel database.</P>");
        }

        echo 
    "<DIV class=\"back\">[url='index.php']Torna indietro[/url]</DIV>"
    Life is too short to spend it hoping or crying...JUST LIVE IT!

  4. #4
    [supersaibal]Originariamente inviato da CheCk_OUTSIDE
    ....
    scusa la mia ignoranza.. ma proprio nn riesco a capire come integrare il tuo listato con il mio...
    ho provato a fare così:
    // quanti records per pagina?
    $pageSize = 10;
    // query per contare quanti record ci sono nel db
    $queryTot = "SELECT COUNT(*) FROM temp";
    // esegue la query per il conteggio ..
    $ris_totale = mysql_query($queryTot) or die($errorString);
    $arr_totale = mysql_fetch_row($ris_totale);
    // qui ho il totale dei record nell'elemento 0 dell array
    $totale = $arr_totale[0];
    // qui ho la pagina corrente
    $pagina = ($_GET["pag"] != "") ? (int)$_GET["pag"] : 1;
    // da che record iniziare a prendere i valori
    $begin = ($pagina-1) * $pageSize;
    // quante pagine?
    $countPages = ceil($totale / $pageSize);
    // query per prelevare i valori dal record iniziale della pagina fino al max da visualizzare..
    $query="SELECT * FROM temp LIMIT $begin, $pageSize";
    // eseguo la query
    $result = mysql_query ($query);
    // carica in row il contenuto del record corrente ogni volta.. e quando non ci sono più records restituisce FALSE!
    while($row = mysql_fetch_array($result)){
    print"<U>Giorno:</U> $riga[gg]<U>Mese:</U> $riga[mm]<U>Anno:</U> $riga[aa]
    ";
    print"Temp. Min.: <U>$riga[tmin]</u>";
    print" Temp. Max.: <u>$riga[tmax]</u>";
    print" Umidità Min.: <u>$riga[umin]</u>";
    print" Umidità Max.: <u>$riga[umax]</u>";
    print" Ora Registrazione: <u>$riga[ora]</u>";
    print" Temperatura: <u>$riga[temp]</u>";
    print" Umidità: <u>$riga[umidita]</u>";
    print" Previsione: <u>$riga[previsione]</u>";
    print" Situazione: <u>$riga[situazione]
    </u>";
    // Liberazione delle risorse..
    mysql_free_result($result);
    /* Se il numero totale dei record è maggiore dei record stampati in una pagina e il numero
    delle pagine è maggiore della pagina corrente allora metto un link sotto a quello che c'è prima..
    quindi sotto ai records che ha stampato in quella pagina.. */
    if ($totale > $pageSize && $countPages > $pagina) {
    echo "Pagina successiva --&gt;";
    }
    // Se ci fossero pagine precedenti, vado indietro
    if ($pagina > 1) {
    echo "

    &lt;--- Pagina precedente";
    }
    // Non ci sono pagine
    if($totale == 0){
    print("<P class='nota'> Non ci sono $tabella nel database</P>");
    }else{
    // stampa il numero delle pagine
    print("<P class='nota'>Ci sono $totale $tabella nel database.</P>");
    }

    }
    ma nn mi visualizza nulla.. mi conta i record, mi permette di andare avanti e indietro ma nulla di altro... :'( HELP...
    Lunga Vita e prosperità!
    Foto e video di Adriana Lima-->http://www.nasosan.it

  5. #5
    ho risolto.. grazie a tutti!
    si può anche chiudere.
    Lunga Vita e prosperità!
    Foto e video di Adriana Lima-->http://www.nasosan.it

  6. #6

    Codice PHP:
     while($row mysql_fetch_array($result)){
    print
    "<U>[B]Giorno:[/b]</U> $riga[gg]<U>[B]Mese:[/b]</U> [b]$riga[/b][mm]<U>[B]Anno:[/b]</U> $riga[aa]
    "
    ;
    print
    "[B]Temp. Min.: [/B]<U>$riga[tmin]</u>";
    print
    "[B] Temp. Max.: [/B]<u>$riga[tmax]</u>";
    print
    "[B] Umidità Min.: [/B]<u>$riga[umin]</u>";
    print
    "[B] Umidità Max.: [/B]<u>$riga[umax]</u>";
    print
    "[B][I] Ora Registrazione: [/I][/B][I][/i]<u>$riga[ora]</u>";
    print
    "[B] Temperatura: [/B]<u>$riga[temp]</u>";
    print
    "[B] Umidità: [/B]<u>$riga[umidita]</u>";
    print
    "[B] Previsione: [/B]<u>$riga[previsione]</u>";
    print
    "[B] Situazione: [/B]<u>$riga[situazione]
    </u>"

    Per forza... nel controllo del while usi $row e poi dentro usi $riga!!!!

    E poi, prima di mysql_free_result ricordati di chiudere la graffa del while...ma non ti da errore??
    Life is too short to spend it hoping or crying...JUST LIVE IT!

  7. #7
    [supersaibal]Originariamente inviato da CheCk_OUTSIDE

    Per forza... nel controllo del while usi $row e poi dentro usi $riga!!!!

    E poi, prima di mysql_free_result ricordati di chiudere la graffa del while...ma non ti da errore?? [/supersaibal]
    errore no.. semplicemente nn mi visualizzava nulla...
    cmq poi rileggendo avevo già risolto...
    Lunga Vita e prosperità!
    Foto e video di Adriana Lima-->http://www.nasosan.it

  8. #8
    Non avevo visto...
    Meglio cosi'...
    Ciao!!!
    Life is too short to spend it hoping or crying...JUST LIVE IT!

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.