Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 17 su 17
  1. #11
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    302
    Quote Originariamente inviata da boots Visualizza il messaggio
    E' come ti dicevo
    Ho apportato le modifiche e adesso tutto torna, mi manca solo la formattazione dei dati in modo che vengano fuori in questo modo
    Questo quello corretto: --> https://ibb.co/fXn4vsM

    e grazie a te boots e alla community di forum html per l'ennesima volta sono riuscito a chiudere il cerchio.
    Se volete che la funzione di un programma non venga scoperta dall'utente, descrivetela nella documentazione...

  2. #12
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,597
    Premesso che roba di css e stili vari sono a tuo carico:
    Codice PHP:
    <?php
    // Questa roba già l'hai fatta
    $fatturati = ...;

    $query = ...;
    while(){
       ....
    }

    $mesi = [1=>'Gennaio'2=>'Febbraio'etc];
    ?>

    <table>
      <thead>
         <th></th>
         <th>2016</th>
         ...
       </thead>
       <tbody>
          <?php
           $anni 
    array_keys($fatturati);
           for(
    $i=1$i<=12;$i++){
               echo 
    '<tr><td>'.$mesi[$i].'</td>';
               foreach(
    $anni as $anno){
                  echo 
    '<td>'.$fatturati[$anno][$i].'</td>';
               }
               echo 
    "</tr>";
          }
          
    ?>
        </tbody>
    </table>

  3. #13
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    302
    Sono senza parole, il tuo supporto è stato non prezioso ma di più, mi hai risolto un problema con grande umiltà e grande spirito collaborativo e l'hai fatto senza lamentarti di una persona che ti ha chiesto uno step by step. So che non è stato corretto da parte mia porre tutte queste domande, ma posso garantirti che contrariamente a quanto si pensa in tanti forum, alle volte non sempre si chiede la "pappa pronta", per trovare delle scorciatoie, ma alcune volte, cosi come è stato per me, le tue risponte hanno saputo fornirmi concetti che poco mi erano stati chiari in fase di studio, anche perchè come sicuramente si sarà capito, non sviluppo per lavoro, ma lo faccio per passione in primis e necessità.

    Adesso mi cimento nell'implementare la riga totale ed ho terminato.

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

  4. #14
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    302
    Buongiorno,
    per sommare e avere a fine riga la somma di tutti i campi delle colonne quale funzione php deve essere utilizzata ?

    https://ibb.co/60cXDh1

    Codice PHP:
    echo '<tr style="color:yellow; font-weight: bold; text-align:left;">';   
    echo 
    '<th class="text-nowrap" scope="row" style="background-color:black;">Totale Incasso</th>';       $sum = ???;
           foreach(
    $anni as $anno){           echo '<td> € '???'</td>';
            }        echo 
    "</tr>"
    Se volete che la funzione di un programma non venga scoperta dall'utente, descrivetela nella documentazione...

  5. #15
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    302
    Buongiorno,
    per sommare e avere a fine riga la somma di tutti i campi delle colonne quale funzione php deve essere utilizzata ?

    https://ibb.co/60cXDh1

    Codice PHP:
    echo '<tr style="color:yellow; font-weight: bold; text-align:left;">';   
    echo 
    '<th class="text-nowrap" scope="row" style="background-color:black;">Totale Incasso</th>';       $sum = ???;
       foreach(
    $anni as $anno){           
       echo 
    '<td> € '???'</td>';
            }        
       echo 
    "</tr>"
    Se volete che la funzione di un programma non venga scoperta dall'utente, descrivetela nella documentazione...

  6. #16
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,597
    Visto che hai diversi anni ti conviene farti un array che contiene i totali:
    Codice PHP:
    <table>
       <thead>
       </thead>
       <tbody>
        <?php
         $totali 
    = [];
         
    $anni array_keys($fatturati);
         for(
    $i 1$i<=12 $i++){
            echo 
    '<tr><td>'.$mesi[$i].'</td>';
            foreach(
    $anni as $anno){
                 if(!isset(
    $totali[$anno])) $totali[$anno] = 0;
                 
    $totali[$anno] += $fatturati[$anno][$i];
                 echo 
    '<td>'.$fatturati[$anno][$i].'</td>';
            }
            echo 
    "</tr>";
        }
        echo 
    "<tr><td>Totale</td>";
        foreach(
    $anni as $anno){
             echo 
    '<td>'.$totali[$anno].'</td>';
        } 
        echo 
    "</tr>";
       
    ?>
       </tbody>
    </table>
    [/PHP]

  7. #17
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    302
    Grazie per l'ennesima volta per l'intervento e per la proposta di risoluzione postata,
    senza supporto sarei arrivato davvero poco lontano, ad ogno modo e per agevolare il lavoro di chi magari, cosi come me, dovesse un domani aver necessità di uno script completo per fare le stesse cose, posto il mio definitivo.

    N.B
    Nel codice sottostante non è presente l'ultima soluzione proposta da boots per ricavare i totali, ma ciò non toglie che la stessa potrebbe essere implementata andando a sostituire la soluzione definitiva che ho utilizzato io.

    Non potendo inserire tutto in un solo post per questione di limite di caratteri inserisco il codice nel mio post successivo
    Se volete che la funzione di un programma non venga scoperta dall'utente, descrivetela nella documentazione...

  8. #18
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    302
    codice:
    <?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),
    '2019'=>array_fill_keys(range(1,12),0),
    '2020'=>array_fill_keys(range(1,12),0),
    ];
    
    $query = 
    "SELECT
    
    DATE_FORMAT(data, \"%c-%Y\") as meseanno
    , SUM(totale) as totalemese
    FROM `commesse`
    WHEREYEAR(data) BETWEEN2016AND2020
    
    GROUP BY meseanno UNIONSELECT
    
    DATE_FORMAT(data, \"13-%Y\") as meseanno
    
    , SUM(totale) as totalemese
    
    FROM `commesse`
    WHEREYEAR(data) BETWEEN2016AND2020
    
    GROUP BY meseanno";
    
    
    $result = $mysqli->query($query);
    
    while($data = mysqli_fetch_assoc($result)){
    $d = explode('-', $data['meseanno']); // in $d[0] ho il mese, in $d[1] l'anno;
    $fatturati[$d[1]][$d[0]] = $data['totalemese'];
    
    }
    
    
    // CREO UN ARRAY DI MESI
    $mesi = [1=>'Gennaio', 2=>'Febbraio', 3=>'Marzo', 4=>'Aprile', 5=>'Maggio', 6=>'Giugno', 7=>'Luglio', 8=>'Agosto', 9=>'Settembre', 10=>'Ottobre', 11=>'Novembre', 12=>'Dicembre', 13=>'Totale'];
    ?>
    
    <tableclass='table table-striped > fatturato'>
    
    <thead>
    
    ... inserisco le <tr>
    
    </thead>
    
    <tbody>
    <?php
    $euro = "€";
    $anni = array_keys($fatturati);
    for($i=1; $i<=13;$i++){
    $tr = "<tr>";
    if ($i == 13) {
    $tr = '<tr style="color:yellow; background-color:black; font-weight: bold; text-align:left;">';
            }
    echo$tr.'<td>'.$mesi[$i].'</td>';
    
    foreach($anni as $anno)
            {
    
    echo'<td>'.$euro.' '.$fatturati[$anno][$i].'</td>';
            }
    echo"</tr>";
              }
    ?>
    </tbody>
    </table>
    
    
    Se volete che la funzione di un programma non venga scoperta dall'utente, descrivetela nella documentazione...

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.