I want to calculate total price
using MySQL table when I use mysql_fetch_array
. But when I echo total
, I get the calculated total price in steps:
5000
10000
16000
Instead, I want to get just the final result.
Here is my PHP code:
$year=$_PoST['year'];
$mounth=$_POST['mounth'];
$con=mysql_connect('localhost','root','');
$select=mysql_select_db('payment');
$sql='select * from payments p
where year(p.date) = '.$year.' and monthname(p.date) = "'.$mounth.'"';
$query=mysql_query($sql);
while($row=mysql_fetch_array($query)){
$price=$row['full_amount_must_pay'] ;
$total=$price+$total;
echo $total;
}
}
How can I calculate total price from database without the extra two lines?
first of all... if you JUST need the Sum make it like this:
$sql='select SUM(full_amount_must_pay) from payments p where year(p.date) = '.$year.' and monthname(p.date) = "'.$mounth.'"';
$query=mysql_query($sql);
if($row=mysql_fetch_array($query)){
echo $row[0];
}
otherwise print your total outside of your while... like this
while($row=mysql_fetch_array($query)){
$price=$row['full_amount_must_pay'] ;
$total=$price+$total;
}
echo $total;
use
$year=$_PoST['year'];
$mounth=$_POST['mounth'];
$con=mysql_connect('localhost','root','');
$select=mysql_select_db('payment');
$sql='select * from payments p
where year(p.date) = '.$year.' and monthname(p.date) = "'.$mounth.'"';
$query=mysql_query($sql);
while($row=mysql_fetch_array($query)){
$price=$row['full_amount_must_pay'] ;
$total=$price+$total;
}
echo $total;
Just use a sum ?
select sum(full_amount_must_pay) from payments p
where year...