Fare calcoli con php da tabella mysql

bipolare75

Utente Attivo
15 Set 2019
43
0
6
Buona sera a tutti,volevo un aiuto;
ho creato per un laboratorio di pasta fresca una pagina web e un database mysql per inserimento ordini da parte dei clienti per i vari prodotti.
nella pagina insermento inserisco nome cognome recapito telefonico data di ritiro e prodotti.
il tutto mi salva su database mysql,e fin qui nessun problema,
ho creato anche un altra pagina dove mi fa il riepilogo per data dei prodotti inseriti.
Ora vorrei crerare un'altra pagina per poter calcolare le quantità delle materie prime, mi spiego meglio:
se il sig. Mario rossi ordina 10 Cannelloni di carne per il giorno 01/01/2020 e il sig. Luca Bianchi ordina 10 Cannelloni di carne per il giorno 01/01/2020 in totale per lo stesso giorno ho 20 Cannelloni di carne da preparare. Ora considerando che per fare un cannellone mi occorre 50 grammi di carne,10 gr di sale e quantaltro dovrei calcolare quanta carne devo preparare. Non so se mi sono riuscito a spiegare bene.
Anticipatamente ringrazio chi impiega del tempo per me.
 
PHP:
$query=mysqli_query($conn, "SELECT SUM(num_cannelloni) AS quantita FROM ordini");
$get_query=mysqli_fetch_assoc($query);
$cannelloni=$get_query['quantita'];
$grammi_carne=$cannelloni * 50;
$grammi_sale=$cannelloni * 10;
...
Circa così, ma è meglio se pubblichi la struttura delle tue tabelle in modo da poterti aiutare più dettagliatamente
 
Decliniamo il concetto in modo operativo e strutturato....

Meglio parametrizzare e non inserire i valori da codice, si farebbe confusione con alterazione di ingredienti/prodotti....

Ipotizzando di avere un modello strutturato in modo relazionale + non relazionale:
#DB Tbl: Prodotto
id,name,config (JSON)

es:config: {"carne":50,"formaggio":15,"sale":10","tempo":11}


#DB Tbl: Ordine
la tua tabella


Arrivati alla conclusione della tua query per la generazione delle quantità si potrebbe prevedere una chiamata di questo tipo:

PHP:
public function getQtaProducts($data){
    $res=$this->db->select('SUM(...........')->get()->result_object();
   foreach($res as $k=>$v)$this->getIngredienti($res[$k]);
   return $res;
}
public function getIngredienti(&$product){
   $result=$this->db->where('product_id',$product->id)->get('table_product')->result_array();
   foreach ($result['config'] as $ingrediente=>$valore){
      $product->$ingrediente=$product->quantita*$valore;
   }
}

Ipotizzando di avere un modello per la generazione prodotto passiamo come riferimento la variabile "product" al metodo per poter avere il risultato del totale degli ingredienti all'interno dell'oggetto stesso.


Potrebbe essere utile a scopo di studio l'utilizzo di JSON_TABLE per la generazione delle colonne dal JSON....
 

Discussioni simili