Pawan
Pawan

Reputation: 3864

sum of a calculated column in foreach

I have a mysql table

service_charges

id service_name service_charges 

I use a mysql query like

select service_name service, service_charges,count(service_name)as unit 
from service charges group_by service

in php file I am using

foreach(services as service){
echo $service['service'];
echo $service['service_charges'];
echo $service['unit'];
$service_charges_total = (($service['service_charges'])*($service['unit']));
echo $sevice_charges_total;
}

I am getting the result like this: enter image description here

Now How can I get the total for $service_charges_total(amount column) i.e. I want a total of 4200+1200 + 350 = 5750.

Thanks.

Upvotes: 5

Views: 776

Answers (4)

Vamshi .goli
Vamshi .goli

Reputation: 520

I hope this work for you

Store the amount value in array and then use array_sum()

$service_charges_total = (($service['service_charges'])*($service['unit']));
$array[]=$service_charges_total;
$total_sum=array_sum($array);
echo $total_sum;

Upvotes: 0

Dyon
Dyon

Reputation: 121

SELECT sum(Amount) from service_charges;

Upvotes: 0

juergen d
juergen d

Reputation: 204924

select service_name as service, 
       service_charges,
       count(service_name) as unit,
       (select sum(service_charges) from service) as total_amount
from service as charges 
group_by service, 
         service_charges

Upvotes: 1

Shaiful Islam
Shaiful Islam

Reputation: 7134

You can do it at php at your function like this

$total=0;
foreach(services as service)
{
   echo $service['service'];
   echo $service['service_charges'];
   echo $service['unit'];
   $service_charges_total = (($service['service_charges'])*($service['unit']));
   echo $sevice_charges_total;
   $total+=$sevice_charges_total;
}
echo $total;

Upvotes: 2

Related Questions