joomlamate
Member
I want to calculate (sum) all the selected column fields, of my db query:
here is what I have:
$userid = '{jos_customers___id}';
$db = JFactory::getDbo();
$query = $db->getQuery( true );
$query->select('donation_amount')
->from('jos_shop_order')
->where('school_id = ' . $db->quote($userid));
$db->setQuery($query);
$earnings = $db->loadColumn();
//print_r($earnings);
Ok so far, print_r gives me a string (?) of arrays with arrays with the fields I want to calculate for each row.
But, I am unable to get the sum for each array.
print_r output:
Array ( [0] => 15 ) Array ( [0] => 15 [1] => 25 ) Array ( ) Array ( [0] => ) Array ( [0] => 8 ) Array ( ) Array ( ) Array ( ) Array ( [0] => 5 [1] => 5 ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( [0] => ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( [0] => 5 [1] => [2] => 5 [3] => [4] => 5 [5] => )
Here how I try to calculate, but it always returns 0.
$total = 0;
foreach ($earnings as $earning) {
$sum = array_sum($earning);
$total += $sum;
}
return $total;
here is what I have:
$userid = '{jos_customers___id}';
$db = JFactory::getDbo();
$query = $db->getQuery( true );
$query->select('donation_amount')
->from('jos_shop_order')
->where('school_id = ' . $db->quote($userid));
$db->setQuery($query);
$earnings = $db->loadColumn();
//print_r($earnings);
Ok so far, print_r gives me a string (?) of arrays with arrays with the fields I want to calculate for each row.
But, I am unable to get the sum for each array.
print_r output:
Array ( [0] => 15 ) Array ( [0] => 15 [1] => 25 ) Array ( ) Array ( [0] => ) Array ( [0] => 8 ) Array ( ) Array ( ) Array ( ) Array ( [0] => 5 [1] => 5 ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( [0] => ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( [0] => 5 [1] => [2] => 5 [3] => [4] => 5 [5] => )
Here how I try to calculate, but it always returns 0.
$total = 0;
foreach ($earnings as $earning) {
$sum = array_sum($earning);
$total += $sum;
}
return $total;