• User

    Sommare diversi campi

    Salve a tutti sono nuovo del forum e conosco pochissimo sql.
    Un mio amico mi ha chiesto di potergli modificare uno script che ha lui per fare delle somme, prima i dati erano solo visualizzati.
    Volevo chiedere se qualcuno poteva darci una mano.
    Grazie in anticipo


  • User Attivo

    Ciao ltatas e benvenuto nel forumGT.

    Veniamo al tuo problema..

    io ti consigliere di provare a impostare un prima soluzione del problema, poi se è particolarmente complicata la spezziamo in sottoproblemi eventualmente si possono aprire diversi topic per ogni sottoproblema e vediamo di giungere alla soluzione.

    Ad esempio,
    dove sono i campi da sommare?
    dove bisogna salvare la somma?

    Lo script non è particolarmente complicato, però bisogna prima capire bene cosa fargli fare.

    :ciauz:


  • User

    Adesso non mi funziona più nemmeno in visualizzazione.
    Posto il codice:

    // Query utilizzate
    $select = "SELECT * from $tablename where (data >= '$inizio_intervallo') and (data <= '$fine_intervallo') and (codice = '$codice') order by data asc, codice";
    $select_all = "SELECT * from $tablename where (data >= '$inizio_intervallo') and (data <= '$fine_intervallo') order by data asc, codice";

    // connessione al db
    $link = mysql_connect ($host, $user, $password);

    if ($codice == "tutti") {  //Select ALL
    
        $risultato_query = mysql_db_query ($dbname, $select_all, $link);
        
        {
        print("
        <tr>
        <td><div align=\"center\">$riga[data]</div></td>
        <td><div align=\"center\">$riga[codice]</div></td>
        <td><div align=\"center\">$riga[A]</div></td>
        <td><div align=\"center\">$riga**</div></td>
        <td><div align=\"center\">$riga</div></td>
        <td><div align=\"center\">$riga[D]</div></td>
            </tr>");
    
        }
        print(" 
        <tr>
        <td colspan=\"5\"><hr></td>
        </tr>");
        print("
        <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td><div align=\"right\">Totale A:&nbsp;$A</div></td>
        <td><div align=\"right\">Totale B:&nbsp;$B</div></td>
        <td><div align=\"right\">Totale C:&nbsp;$C</div></td>
        <td><div align=\"right\">Totale D:&nbsp;$D</div></td>
        </tr>");
    }
    else { // SELECT
    
        mysql_db_query ($dbname, $select, $link);
        $risultato_query = mysql_db_query ($dbname, $select, $link);
        while ($riga = mysql_fetch_array($risultato_query))
        {
        print("
        <tr>
        <td><div align=\"center\">$riga[data]</div></td>
        <td><div align=\"center\">$riga[codice]</div></td>
        <td><div align=\"center\">$riga[A]</div></td>
        <td><div align=\"center\">$riga**</div></td>
        <td><div align=\"center\">$riga</div></td>
        <td><div align=\"center\">$riga[D]</div></td>
        </tr>");
        }
        print(" 
        <tr>
        <td colspan=\"5\"><hr></td>
        </tr>");
        print("
        <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td><div align=\"right\">Totale A:&nbsp;$A</div></td>
        <td><div align=\"right\">Totale B:&nbsp;$B</div></td>
        <td><div align=\"right\">Totale C:&nbsp;$C</div></td>
        <td><div align=\"right\">Totale D:&nbsp;$D</div></td>
        </tr>");
    }
    

    mysql_close ($link);

    All'inizio viene fatta una SELECT per poter fare selezionare il tempo e poi vengono (venivano) visualizzati tutti i record nelle colonne rispettive A-B-C-D in fondo a tutto vorrei fare il totale delle rispettive colonne, per il tempo selezionato.
    Grazie


  • User

    Ho trovato l'errore per la visualizzazione.
    Posto il codice:

    // Query utilizzate
    $select = "SELECT * from $tablename where (data >= '$inizio_intervallo') and (data <= '$fine_intervallo') and (codice = '$codice') order by data asc, codice";
    $select_all = "SELECT * from $tablename where (data >= '$inizio_intervallo') and (data <= '$fine_intervallo') order by data asc, codice";

    // connessione al db
    $link = mysql_connect ($host, $user, $password);

    if ($codice == "tutti") {  //Select ALL
    
        $risultato_query = mysql_db_query ($dbname, $select_all, $link);
        while ($riga = mysql_fetch_array($risultato_query))
    
        {
        print("
        <tr>
        <td><div align=\"center\">$riga[data]</div></td>
        <td><div align=\"center\">$riga[codice]</div></td>
        <td><div align=\"center\">$riga[A]</div></td>
        <td><div align=\"center\">$riga**</div></td>
        <td><div align=\"center\">$riga</div></td>
        <td><div align=\"center\">$riga[D]</div></td>
            </tr>");
    
        }
        print(" 
        <tr>
        <td colspan=\"5\"><hr></td>
        </tr>");
        print("
        <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td><div align=\"right\">Totale A:&nbsp;$A</div></td>
        <td><div align=\"right\">Totale B:&nbsp;$B</div></td>
        <td><div align=\"right\">Totale C:&nbsp;$C</div></td>
        <td><div align=\"right\">Totale D:&nbsp;$D</div></td>
        </tr>");
    }
    else { // SELECT
    
        mysql_db_query ($dbname, $select, $link);
        $risultato_query = mysql_db_query ($dbname, $select, $link);
        while ($riga = mysql_fetch_array($risultato_query))
        {
        print("
        <tr>
        <td><div align=\"center\">$riga[data]</div></td>
        <td><div align=\"center\">$riga[codice]</div></td>
        <td><div align=\"center\">$riga[A]</div></td>
        <td><div align=\"center\">$riga**</div></td>
        <td><div align=\"center\">$riga</div></td>
        <td><div align=\"center\">$riga[D]</div></td>
        </tr>");
        }
        print(" 
        <tr>
        <td colspan=\"5\"><hr></td>
        </tr>");
        print("
        <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td><div align=\"right\">Totale A:&nbsp;$A</div></td>
        <td><div align=\"right\">Totale B:&nbsp;$B</div></td>
        <td><div align=\"right\">Totale C:&nbsp;$C</div></td>
        <td><div align=\"right\">Totale D:&nbsp;$D</div></td>
        </tr>");
    }
    

    mysql_close ($link);

    All'inizio viene fatta una SELECT per poter fare selezionare il tempo e poi vengono (venivano) visualizzati tutti i record nelle colonne rispettive A-B-C-D in fondo a tutto vorrei fare il totale delle rispettive colonne, per il tempo selezionato.
    Grazie


  • User Attivo

    Ciao itatas, ti chiederei di racchiudere il codice php tra i tag
    [ php ]..

    [ /php ]

    senza gli spazi nelle parentesi..
    per rendere più comprensibile il codice.

    Dò un occhiata...