Quote Originariamente inviata da MirkoMontagna Visualizza il messaggio
Ciao!

Grazie per l'aiuto. Ho effettivamente risolto il problema sostando il controllo della riga al di fuori del ciclo. Non so per quale motivo l'avevo messo dentro!

codice:
$array_fatturato=array();
                for($gg=1;$gg<=31;$gg++){
                    $query=mysqli_query($con, "SELECT * FROM chiusure WHERE data_chiusura = '$anno-$mese_ricercato-$gg'");
                    $righe=mysqli_num_rows($query);
                           if(!$righe){
                                   $array_fatturato[]=0;
                            }else{
                                while($desc=mysqli_fetch_array($query)){
                                   $array_fatturato[]=$desc['t_fatturato'];}
                                }
                        
                }
Mi sembra che stai facendo fare i conti a PHP, cosa che non è molto veloce.
Io farei così
- parti da un array posto tutto a zero
- fai una query dove metti un SUM del fatturato con un GROUP BY sul DAY() (e relative WHERE)
- cicli direttamente sui risultati e dove c'è una riga metti il relativo valore dentro l'array
Così se in un mese, poniamo, hai 2 movimenti il ciclo dura 2 e non 31 come nel tuo codice.