Joomla.it Forum
Componenti per Joomla! => Gestione Form => : Marco Tancredi 14 Dec 2018, 09:03:24
-
Buongiorno a tutti, il mio quesito è molto semplice.
Ho una lista in fabrik che visualizza una serie di valori numerici nello stesso campo, io vorrei sommarli e mostrare il totale in un'altra colonna.
Allego l'immagine della vista. Io vorrei sommare tutti i pesi i numeri di frutti.
Purtroppo non ho trovato il metodo con il plugin Calc.
Grazie in anticipo a chi mi aiuterà.
-
Hai provato a guardare su www.icagenda.it ? Ci sono molti tutorial e guide su Fabrik, probabilmente troverai quella che fa per te.
-
Gia visto ma su tutorial mostra le somme tra elementi di campi diversi. Io devo sommare gli elementi dello stesso campo.
-
Hai provato ad applicare una query select sum?
-
Ho fatto una cose del genere ma mi da la somma di tutta la tabella del db. Mi serve solo della lista renderizzata
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('sum('.$db->quoteName('peso').')');
$query->from($db->quoteName('calibrature'));
$db->setQuery($query);
$results = $db->loadResult();
return $results;
-
Se non metti una where è normale, filtra con le stesse condizioni di come ottieni la lista.
-
Si hai ragione.
Ma la questione adesso diventa:
- devo sommare i valori di cui sopra sulla base di un elemento presente in un'altra tabella.
In foto vedi il join delle tabelle.
- In fabrik ho impostato un raggruppamento, devo sommare i valori di quel raggruppamento.
-
Conosco le query mysql ma non uso fabrik, quindi non ti posso aiutare a ricavare la query.
-
come la scriveresti?
-
Ho risolto cosi:
ad una variabile $x ho dato il valore che filtra la lista renderizzata mediante la sintassi di Calc.
Poi l'ho inserita nella WHERE della funzione.
Grazie delle dritte tomtomeight
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('sum('.$db->quoteName('peso').')');
$query->from($db->quoteName('calibrature'));
$x=(int)'{partite___id_raw}';
$query->where($db->quoteName('id_partita')." = ".$db->quote($x));
$db->setQuery($query);
$results = $db->loadResult();
return $results;
-
Bravo, ragionando si ottiene sempre il risultato. Non avrei potuto scriverla senza conoscere la struttura.