Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    302

    Popolare i campi di una tabella con campi calcolati su un database

    Un saluto a tutto il forum,
    avrei bisogno del vostro supporto per realizzare una tabella che inserisca il fatturato aziendale totale mensile anno per anno.

    Ho creato con php questa tabella:

    codice HTML:
    <!DOCTYPE html>
    <html lang="it">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <link  href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"  rel="stylesheet"  integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"  crossorigin="anonymous">
        <script  src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"   integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6"  crossorigin="anonymous"></script>
        <title>Document</title>
    </head>
    <body>
    
    
    <?php
    
    
    echo"
    <table class='table table-bordered table-striped'>
      <thead>
        <tr>
          <th scope='col'></th>
          <th class='text-center' scope='col'>
            Incasso<br>
            2016
          </th>
          <th class='text-center' scope='col'>
            Incasso<br>
            2017
          </th>
          <th class='text-center' scope='col'>
            Incasso<br>
            2018
          </th>
          <th class='text-center' scope='col'>
            Incasso<br>
            2019
          </th>
          <th class='text-center' scope='col'>
            Incasso<br>
            2020
          </th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <th class='text-nowrap' scope='row'>Gennaio</th>
          <td>Qua deve valorizzare Gennaio 2016</td>
        </tr>
        <tr>
          <th class='text-nowrap' scope='row'>Febbraio</th>
          <td>Qua deve valorizzare Febbraio 2016</td>
        </tr>
        <tr>
          <th class='text-nowrap' scope='row'>Marzo</th>
          <td>Qua deve valorizzare Marzo 2016</td>
        </tr>
        <tr>
          <th class='text-nowrap' scope='row'>Aprile</th>
          <td>Qua deve valorizzare Aprile 2016</td>
        </tr>
        <tr>
          <th class='text-nowrap' scope='row'>Maggio</th>
          <td>Qua deve valorizzare Maggio 2016</td>
        </tr>
        <tr>
          <th class='text-nowrap' scope='row'>Giugno</th>
          <td>Qua deve valorizzare Giugno 2016</td>
        </tr>
        <tr>
        <th class='text-nowrap' scope='row'>Luglio</th>
        <td>Qua deve valorizzare Luglio 2016</td>
        </tr>
        <th class='text-nowrap' scope='row'>Agosto</th>
        <td>Qua deve valorizzare Agosto 2016</td>
        </tr>
        <th class='text-nowrap' scope='row'>Settembre</th>
        <td>Qua deve valorizzare Settembre 2016</td>
        </tr>
        <th class='text-nowrap' scope='row'>Ottobre</th>
        <td>Qua deve valorizzare Ottobre 2016</td>
        </tr>
        <th class='text-nowrap' scope='row'>Novembre</th>
        <td>Qua deve valorizzare Novembre 2016</td>
        </tr>
        <th class='text-nowrap' scope='row'>Dicembre</th>
        <td>Qua deve valorizzare Dicembre 2016</td>
        </tr>
      </tbody>";
    echo"</table>";  
    ?>
        
    </body>
    </html>
    
    
    
    i dati sono memorizzati all'interno di un database mysql, naturalmente nel database ho un campo che si chiama: totale di tipo decimal(10,2) ma e memorizza il totale per ogni singolo lavoro eseguito.

    In tutta sostanza dovrei scrivere una query che:
    selezioni tutti i lavori eseguiti dal 01/01/2016 al 31/01/2016 e ne mostri il totale nella cella
    codice HTML:
    <td>Qua deve valorizzare Gennaio 2016</td>
    e cosi per tutte le celle di tutti gli anni.

    Mi dareste una mano a comprendere come gestire la situazione

    Grazie anticipatamente
    Se volete che la funzione di un programma non venga scoperta dall'utente, descrivetela nella documentazione...

  2. #2
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,597
    Te la puoi cavare con una semplice query, se per ogni lavoro hai data e totale:
    codice:
    SELECT MONTH(data_lavoro) as mese, SUM(totale_lavoro) as totale FROM tabella WHERE YEAR(date) = 2016 GROUP BY mese ORDER BY mese
    Ovviamente cambia 2016 con l'anno che ti interessa (o rendilo parametrico).
    Lato php ti basta fare un ciclo sul risultato e stampare il totale, se sei sicuro che non ci sono "buchi" tra i mesi, ovvero non ci sono fatture in alcuni mesi. In questo caso ti conviene crearti un array con i mesi
    Codice PHP:
    $mesi array_fill_keys(range(1,12), 0); 
    ciclare sul risultato della query ed aggiornare $mesi
    Codice PHP:
    while($data =  ...){
       
    $mesi[$data['mesi']] = $data['totale'];

    Ed infine stamperai i valori di $mesi con il solito foreach

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    302
    Buongiorno boots,
    io penso di aver fatto un casotto, nel senso che ho scritto la query in questo modo lato php:

    codice:
    <?php
    
    /*SCRIVO LA QUERY per GENNAIO*/
    $gennaio16 = "SELECTSUM(totale) FROM commesse WHEREdataBETWEEN ('2016-01-01') AND ('2016-12-31')";
    $rs_gennaio16 = $mysqli->query($gennaio16);
    $fatt_gennaio16 = mysqli_fetch_assoc($rs_gennaio16);
    
    $gennaio17 = "SELECTSUM(totale) FROM commesse WHEREdataBETWEEN ('2017-01-01') AND ('2017-12-31')";
    $rs_gennaio17 = $mysqli->query($gennaio17);
    $fatt_gennaio17 = mysqli_fetch_assoc($rs_gennaio17);
    
    $gennaio18 = "SELECTSUM(totale) FROM commesse WHEREdataBETWEEN ('2018-01-01') AND ('2018-12-31')";
    $rs_gennaio18 = $mysqli->query($gennaio18);
    $fatt_gennaio18 = mysqli_fetch_assoc($rs_gennaio18);
    
    .....
    
    
    
    nella tabella html avevo scritto questo:

    codice:
    <?php
    
    echo"
    <table class='table table-striped > fatturato'>
      <thead>
        <tr>
          <th scope='col'></th>
          <th class='text-center > intestazione_fatturato' scope='col'>
            Incasso<br>
            2016
          </th>
    
          <th class='text-center > intestazione_fatturato' scope='col'>
            Incasso<br>
            2017
          </th>
    
          <th class='text-center > intestazione_fatturato' scope='col'>
            Incasso<br>
            2018
          </th>
    
          <th class='text-center > intestazione_fatturato' scope='col'>
            Incasso<br>
            2019
          </th>
    
          <th class='text-center > intestazione_fatturato' scope='col'>
            Incasso<br>
            2020
          </th>
        </tr>
      </thead>
    
      <tbody>
    
        <tr>
          <th class='text-nowrap' scope='row'>Gennaio</th>
          <td>€ {$fatt_gennaio16['SUM(totale)']}</td>
          <td>€ {$fatt_gennaio17['SUM(totale)']}</td>
          <td>€ {$fatt_gennaio18['SUM(totale)']}</td>
          <td>€ {$fatt_gennaio19['SUM(totale)']}</td>
          <td>€ {$fatt_gennaio20['SUM(totale)']}</td>
        </tr>
    
    
    cosi facendo però mi sono ritrovato ad avere nelle varie righe "Gennaio" "Febbraio" ecc ecc non la distinzione per mese/anno ma solo il totale del fatturato di tutto l'anno Gennaio dal 01/01/2016 al 31/12/2016

    Potresti postarmi un esempio del codice da te suggerito applicandolo direttamente sul mio codice ?

    Grazie di cuore per il supporto
    Se volete che la funzione di un programma non venga scoperta dall'utente, descrivetela nella documentazione...

  4. #4
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,597
    Scusami...non ho proprio visto che suddividevi anche per anno. Allora io farei così:
    Codice PHP:
    <?php
    $fatturati 
    = ['2016'=>array_fill_keys(range(1,12),0),
                       
    '2017'=>array_fill_keys(range(1,12),0),
                       
    '2018'=>array_fill_keys(range(1,12),0),
                       
    //ect
     
    ];
    $query 
    "SELECT DATE_FORMAT(date, \"%c-%Y\") as data, SUM(total) as totale 
    FROM `tabella` 
    WHERE YEAR(date) BETWEEN 2016 AND 2020 
    GROUP BY data"
    ;

    while(
    $data = ... //loop nel risultato query){
        
    $d explode('-'$data['data']); // in $d[0] ho il mese, in $d[1] l'anno;
        
    $fatturati[$d[1]][$d[0]] = $data['totale'];
    }

    ?>
    <table>
      <tr>
       <th>2016</th>
       <th>2017</th>
        ...
       </tr>
       <?php 
        $anni 
    array_keys($fatturati);
        for(
    $i=1$i<=12;$i++){
           echo 
    "<tr>";
           foreach(
    $anni as $anno){
             echo 
    '<td>'.$fatturati[$anno][$i].'</td>';
           }
           echo 
    "</tr>";
       }
    ?>
    </table>
    Ovviamente gli anni in $fatturati devono essere quelli che poi prendi nella query.

    PS: Ci possono essere degli errori, ma il concetto è questo
    Ultima modifica di boots; 09-12-2019 a 13:49

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    302
    Quote Originariamente inviata da boots Visualizza il messaggio
    [PHP]
    <?php
    while($data = ... //loop nel risultato query){
    Grazie di vero cuore per il supporto che mi stai fornendo,
    volevo, solo comprendere con un esempio come e cosa scrivere nel

    codice:
    while($data = ???
    Poi ti aggiorno sul risultato,
    nell'attesa di una risposta e per correttezza nei riguardi di chi leggerà il post dopo di noi e che magari avrà lo stesso problema, lascio la soluzione "assurda" che ho utilizzato io, la quale però mi ha permesso di ottenere il risultato che mi serviva.

    Naturalmente è una soluzione temporanea, questo perchè vorrei poter implementare il tuo script e ridurre tutto il codice...

    Codice PHP:
    <?php

    /*SCRIVO LA QUERY per GENNAIO*/ 
    $gennaio16 "SELECT SUM(totale) FROM commesse WHERE data BETWEEN ('2016-01-01') AND ('2016-01-31')";
    $rs_gennaio16 $mysqli->query($gennaio16);
    $fatt_gennaio16 mysqli_fetch_assoc($rs_gennaio16);

    $gennaio17 "SELECT SUM(totale) FROM commesse WHERE data BETWEEN ('2017-01-01') AND ('2017-01-31')";
    $rs_gennaio17 $mysqli->query($gennaio17);
    $fatt_gennaio17 mysqli_fetch_assoc($rs_gennaio17);

    $gennaio18 "SELECT SUM(totale) FROM commesse WHERE data BETWEEN ('2018-01-01') AND ('2018-01-31')";
    $rs_gennaio18 $mysqli->query($gennaio18);
    $fatt_gennaio18 mysqli_fetch_assoc($rs_gennaio18);

    $gennaio19 "SELECT SUM(totale) FROM commesse WHERE data BETWEEN ('2019-01-01') AND ('2019-01-31')";
    $rs_gennaio19 $mysqli->query($gennaio19);
    $fatt_gennaio19 mysqli_fetch_assoc($rs_gennaio19);

    $gennaio20 "SELECT SUM(totale) FROM commesse WHERE data BETWEEN ('2020-01-01') AND ('2020-01-31')";
    $rs_gennaio20 $mysqli->query($gennaio20);
    $fatt_gennaio20 mysqli_fetch_assoc($rs_gennaio20);

    /*SCRIVO LA QUERY per FEBBRAIO*/ 
    $febbraio16 "SELECT SUM(totale) FROM commesse WHERE data BETWEEN ('2016-02-01') AND ('2016-02-31')";
    $rs_febbraio16 $mysqli->query($febbraio16);
    $fatt_febbraio16 mysqli_fetch_assoc($rs_febbraio16);

    $febbraio17 "SELECT SUM(totale) FROM commesse WHERE data BETWEEN ('2017-02-01') AND ('2017-02-31')";
    $rs_febbraio17 $mysqli->query($febbraio17);
    $fatt_febbraio17 mysqli_fetch_assoc($rs_febbraio17);

    $febbraio18 "SELECT SUM(totale) FROM commesse WHERE data BETWEEN ('2018-02-01') AND ('2018-02-31')";
    $rs_febbraio18 $mysqli->query($febbraio18);
    $fatt_febbraio18 mysqli_fetch_assoc($rs_febbraio18);

    $febbraio19 "SELECT SUM(totale) FROM commesse WHERE data BETWEEN ('2019-02-01') AND ('2019-02-31')";
    $rs_febbraio19 $mysqli->query($febbraio19);
    $fatt_febbraio19 mysqli_fetch_assoc($rs_febbraio19);

    $febbraio20 "SELECT SUM(totale) FROM commesse WHERE data BETWEEN ('2020-02-01') AND ('2020-02-31')";
    $rs_febbraio20 $mysqli->query($febbraio20);
    $fatt_febbraio20 mysqli_fetch_assoc($rs_febbraio20);

    /*SCRIVO LA QUERY per MARZO*/ 
    $marzo16 "SELECT SUM(totale) FROM commesse WHERE data BETWEEN ('2016-03-01') AND ('2016-03-31')";
    $rs_marzo16 $mysqli->query($marzo16);
    $fatt_marzo16 mysqli_fetch_assoc($rs_marzo16);

    $marzo17 "SELECT SUM(totale) FROM commesse WHERE data BETWEEN ('2017-03-01') AND ('2017-03-31')";
    $rs_marzo17 $mysqli->query($marzo17);
    $fatt_marzo17 mysqli_fetch_assoc($rs_marzo17);

    $marzo18 "SELECT SUM(totale) FROM commesse WHERE data BETWEEN ('2018-03-01') AND ('2018-03-31')";
    $rs_marzo18 $mysqli->query($marzo18);
    $fatt_marzo18 mysqli_fetch_assoc($rs_marzo18);

    $marzo19 "SELECT SUM(totale) FROM commesse WHERE data BETWEEN ('2019-03-01') AND ('2019-03-31')";
    $rs_marzo19 $mysqli->query($marzo19);
    $fatt_marzo19 mysqli_fetch_assoc($rs_marzo19);

    $marzo20 "SELECT SUM(totale) FROM commesse WHERE data BETWEEN ('2020-03-01') AND ('2020-03-31')";
    $rs_marzo20 $mysqli->query($marzo20);
    $fatt_marzo20 mysqli_fetch_assoc($rs_marzo20);

    /*SCRIVO LA QUERY per APRILE*/ 
    ecc ecc


    /*CALCOLO I TOTALI*/
    $totale16 "SELECT SUM(totale) FROM commesse WHERE data BETWEEN ('2016-01-01') AND ('2016-12-31')";
    $totale_2016 $mysqli->query($totale16);
    $totale_anno16 mysqli_fetch_assoc($totale_2016);

    /*SCRIVO LA QUERY per FEBBRAIO*/ 
    $totale17 "SELECT SUM(totale) FROM commesse WHERE data BETWEEN ('2017-01-01') AND ('2017-12-31')";
    $totale_2017 $mysqli->query($totale17);
    $totale_anno17 mysqli_fetch_assoc($totale_2017);

    /*SCRIVO LA QUERY per MARZO*/ 
    $totale18 "SELECT SUM(totale) FROM commesse WHERE data BETWEEN ('2018-01-01') AND ('2018-12-31')";
    $totale_2018 $mysqli->query($totale18);
    $totale_anno18 mysqli_fetch_assoc($totale_2018);

    /*SCRIVO LA QUERY per APRILE*/ 
    $totale19 "SELECT SUM(totale) FROM commesse WHERE data BETWEEN ('2019-01-01') AND ('2019-12-31')";
    $totale_2019 $mysqli->query($totale19);
    $totale_anno19 mysqli_fetch_assoc($totale_2019);

    /*SCRIVO LA QUERY per MAGGIO*/ 
    $totale20 "SELECT SUM(totale) FROM commesse WHERE data BETWEEN ('2020-01-01') AND ('2020-12-31')";
    $totale_2020 $mysqli->query($totale20);
    $totale_anno20 mysqli_fetch_assoc($totale_2020);

    ?>

    <style>
    .container-menu-superiore{
        background-color:#F2F2F2;
        padding: 10px;
        text-align:center;
      width: 100%;
      margin:15px;
    }
    </style>

    <div class = "container-menu-superiore">
        <div class ="row">
          <div class="col-sm-3">
                
            </div>

            <div class="col-sm-3">
                
            </div>
            
            <div class="col-sm-3">
                
            </div>
            
            <div class="col-sm-3">
                <button onclick="window.location.reload();" class="btn btn-outline-warning">Aggiorna la pagina</button>
            </div>
        </div>
    </div>


    <?php

    echo"
    <table class='table table-striped > fatturato'>
      <thead>
        <tr>
          <th scope='col'></th>
          <th class='text-center > intestazione_fatturato' scope='col'>
            Incasso<br>
            2016
          </th>

          <th class='text-center > intestazione_fatturato' scope='col'>
            Incasso<br>
            2017
          </th>

          <th class='text-center > intestazione_fatturato' scope='col'>
            Incasso<br>
            2018
          </th>

          <th class='text-center > intestazione_fatturato' scope='col'>
            Incasso<br>
            2019
          </th>

          <th class='text-center > intestazione_fatturato' scope='col'>
            Incasso<br>
            2020
          </th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <th class='text-nowrap' scope='row'>Gennaio</th>
          <td>€ 
    {$fatt_gennaio16['SUM(totale)']}</td>
          <td>€ 
    {$fatt_gennaio17['SUM(totale)']}</td>
          <td>€ 
    {$fatt_gennaio18['SUM(totale)']}</td>
          <td>€ 
    {$fatt_gennaio19['SUM(totale)']}</td>
          <td>€ 
    {$fatt_gennaio20['SUM(totale)']}</td>
        </tr>

        <tr>
          <th class='text-nowrap' scope='row'>Febbraio</th>
          <td>€ 
    {$fatt_febbraio16['SUM(totale)']}</td>
          <td>€ 
    {$fatt_febbraio17['SUM(totale)']}</td>
          <td>€ 
    {$fatt_febbraio18['SUM(totale)']}</td>
          <td>€ 
    {$fatt_febbraio19['SUM(totale)']}</td>
          <td>€ 
    {$fatt_febbraio20['SUM(totale)']}</td>
        </tr>

        <tr>
          <th class='text-nowrap' scope='row'>Marzo</th>
          <td>€ 
    {$fatt_marzo16['SUM(totale)']}</td>
          <td>€ 
    {$fatt_marzo17['SUM(totale)']}</td>
          <td>€ 
    {$fatt_marzo18['SUM(totale)']}</td>
          <td>€ 
    {$fatt_marzo19['SUM(totale)']}</td>
          <td>€ 
    {$fatt_marzo20['SUM(totale)']}</td>
        </tr>

        <tr>
          <th class='text-nowrap' scope='row'>Aprile</th>
          <td>€ 
    {$fatt_aprile16['SUM(totale)']}</td>
          <td>€ 
    {$fatt_aprile17['SUM(totale)']}</td>
          <td>€ 
    {$fatt_aprile18['SUM(totale)']}</td>
          <td>€ 
    {$fatt_aprile19['SUM(totale)']}</td>
          <td>€ 
    {$fatt_aprile20['SUM(totale)']}</td>
        </tr>

        <tr>
          <th class='text-nowrap' scope='row'>Maggio</th>
          <td>€ 
    {$fatt_maggio16['SUM(totale)']}</td>
          <td>€ 
    {$fatt_maggio17['SUM(totale)']}</td>
          <td>€ 
    {$fatt_maggio18['SUM(totale)']}</td>
          <td>€ 
    {$fatt_maggio19['SUM(totale)']}</td>
          <td>€ 
    {$fatt_maggio20['SUM(totale)']}</td>
        </tr>

        <tr>
          <th class='text-nowrap' scope='row'>Giugno</th>
          <td>€ 
    {$fatt_giugno16['SUM(totale)']}</td>
          <td>€ 
    {$fatt_giugno17['SUM(totale)']}</td>
          <td>€ 
    {$fatt_giugno18['SUM(totale)']}</td>
          <td>€ 
    {$fatt_giugno19['SUM(totale)']}</td>
          <td>€ 
    {$fatt_giugno20['SUM(totale)']}</td>
        </tr>

        <tr>
        <th class='text-nowrap' scope='row'>Luglio</th>
          <td>€ 
    {$fatt_luglio16['SUM(totale)']}</td>
          <td>€ 
    {$fatt_luglio17['SUM(totale)']}</td>
          <td>€ 
    {$fatt_luglio18['SUM(totale)']}</td>
          <td>€ 
    {$fatt_luglio19['SUM(totale)']}</td>
          <td>€ 
    {$fatt_luglio20['SUM(totale)']}</td>
        </tr>

        <th class='text-nowrap' scope='row'>Agosto</th>
          <td>€ 
    {$fatt_agosto16['SUM(totale)']}</td>
          <td>€ 
    {$fatt_agosto17['SUM(totale)']}</td>
          <td>€ 
    {$fatt_agosto18['SUM(totale)']}</td>
          <td>€ 
    {$fatt_agosto19['SUM(totale)']}</td>
          <td>€ 
    {$fatt_agosto20['SUM(totale)']}</td>
        </tr>

        <th class='text-nowrap' scope='row'>Settembre</th>
          <td>€ 
    {$fatt_settembre16['SUM(totale)']}</td>
          <td>€ 
    {$fatt_settembre17['SUM(totale)']}</td>
          <td>€ 
    {$fatt_settembre18['SUM(totale)']}</td>
          <td>€ 
    {$fatt_settembre19['SUM(totale)']}</td>
          <td>€ 
    {$fatt_settembre20['SUM(totale)']}</td>
        </tr>

        <th class='text-nowrap' scope='row'>Ottobre</th>
          <td>€ 
    {$fatt_ottobre16['SUM(totale)']}</td>
          <td>€ 
    {$fatt_ottobre17['SUM(totale)']}</td>
          <td>€ 
    {$fatt_ottobre18['SUM(totale)']}</td>
          <td>€ 
    {$fatt_ottobre19['SUM(totale)']}</td>
          <td>€ 
    {$fatt_ottobre20['SUM(totale)']}</td>
        </tr>

        <th class='text-nowrap' scope='row'>Novembre</th>
          <td>€ 
    {$fatt_novembre16['SUM(totale)']}</td>
          <td>€ 
    {$fatt_novembre17['SUM(totale)']}</td>
          <td>€ 
    {$fatt_novembre18['SUM(totale)']}</td>
          <td>€ 
    {$fatt_novembre19['SUM(totale)']}</td>
          <td>€ 
    {$fatt_novembre20['SUM(totale)']}</td>
        </tr>

        <th class='text-nowrap' scope='row'>Dicembre</th>
          <td>€ 
    {$fatt_dicembre16['SUM(totale)']}</td>
          <td>€ 
    {$fatt_dicembre17['SUM(totale)']}</td>
          <td>€ 
    {$fatt_dicembre18['SUM(totale)']}</td>
          <td>€ 
    {$fatt_dicembre19['SUM(totale)']}</td>
          <td>€ 
    {$fatt_dicembre20['SUM(totale)']}</td>
        </tr>

        <tr style='color:green; font-weight: bold;'>
        <th class='text-nowrap' scope='row'>Totale</th>
        <td>€ 
    {$totale_anno16['SUM(totale)']}</td>
        <td>€ 
    {$totale_anno17['SUM(totale)']}</td>
        <td>€ 
    {$totale_anno18['SUM(totale)']}</td>
        <td>€ 
    {$totale_anno19['SUM(totale)']}</td>
        <td>€ 
    {$totale_anno20['SUM(totale)']}</td>
        </tr>

      </tbody>"
    ;
    echo
    "</table>";  
    ?>

    Grazie ancora
    Se volete che la funzione di un programma non venga scoperta dall'utente, descrivetela nella documentazione...

  6. #6
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,597
    Quote Originariamente inviata da condor_uk Visualizza il messaggio
    Grazie di vero cuore per il supporto che mi stai fornendo,
    volevo, solo comprendere con un esempio come e cosa scrivere nel

    codice:
    while($data = ???
    Quello dipendeva da cosa usi per fare le query...visto che usi mysqli senza appoggiarti a qualche altra classe basta:
    Codice PHP:
    $query "SELECT ...ect";
    $result $mysqli->query($query);
    while(
    $data mysqli_fetch_assoc($result)){
    ...


  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    302
    Rieccomi, seguito i tuoi suggerimenti,
    solo che i totali sono diversi da quelli che realmente dovrebbero essere:

    Ti allego due immagini:

    Questo quello corretto: --> https://ibb.co/fXn4vsM

    Questo quello errato: --> https://ibb.co/3YdKYhK


    Grazie
    Se volete che la funzione di un programma non venga scoperta dall'utente, descrivetela nella documentazione...

  8. #8
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,597
    Puoi scrivere la query che hai effettivamente usato ? perchè se usi lo stesso nome per un campo (data) e per DATE_FORMAT(data, "%c-%Y") as data e possibile che ti faccia la somma del giorno (e visto che i valori son molto bassi rispetto a quelli esatti, mi pare questo il caso) e non del mese in quanto GROUP BY data farà riferimento al campo e non la DATE_FORMAT

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    302
    Quote Originariamente inviata da boots Visualizza il messaggio
    Puoi scrivere la query che hai effettivamente usato ?
    Buongiorno boots,
    ti posto la query che ho utilizzato per estrarre i dati di cui avevo bisogno:

    Codice PHP:
    $query "SELECT DATE_FORMAT(data, \"%c-%Y\") as data, SUM(totale) as totale FROM `commesse` WHERE YEAR(data) BETWEEN 2016 AND 2020 GROUP BY data";
    $result $mysqli->query($query);while($data mysqli_fetch_assoc($result)){    $d explode('-'$data['data']); // in $d[0] ho il mese, in $d[1] l'anno;    $fatturati[$d[1]][$d[0]] = $data['totale'];}?> 
    Se volete che la funzione di un programma non venga scoperta dall'utente, descrivetela nella documentazione...

  10. #10
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,597
    E' come ti dicevo...se nomini DATE_FORMAT come il campo data non ti conta bene i totali. cambia il nome, es:

    "SELECT DATE_FORMAT(data, \"%c-%Y\") as meseanno, SUM(totale) as totalemese FROM ... GROUP BY meseanno".

    Poi cambia le relative variabili:
    Codice PHP:
    while($data ...){
       
    $d explode('-'$data['meseanno']);
       
    $fatturati[$d[1]][$d[0]] = $data['totalemese'];


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 © 2021 vBulletin Solutions, Inc. All rights reserved.