0

total priceを使うときにMySQLのテーブルを使って計算したいmysql_fetch_array。しかし、 echototalを実行すると、計算された合計金額が段階的に表示されます。

5000
10000
16000

代わりに、最終結果だけを取得したいのです。

ここに私のPHPコードがあります:

$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;

}

}

余分な 2 行を使わずにデータベースから合計価格を計算するにはどうすればよいですか?

4

3 に答える 3

3

まず第一に...合計が必要な場合は、次のようにします。

$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];
}

それ以外の場合は、合計を while の外に出力します...このように

while($row=mysql_fetch_array($query)){
    $price=$row['full_amount_must_pay'] ;
    $total=$price+$total;
}
echo $total;
于 2012-12-14T14:07:36.117 に答える
1

合計を使用するだけですか?

select sum(full_amount_must_pay) from payments p
where year...
于 2012-12-14T14:07:08.977 に答える
0

使用する

$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;
于 2012-12-14T14:07:02.350 に答える