ホームページ >バックエンド開発 >PHPチュートリアル >このサイクルを修正する方法

このサイクルを修正する方法

WBOY
WBOYオリジナル
2016-06-13 12:25:46873ブラウズ

このサイクルはどうすれば修正できるのでしょうか?

$sa='select * from pql_spices_class order by id asc';<br />      $ra=mysql_query($sa);<br />	  $i=1;<br />	  while($rsa=mysql_fetch_array($ra,MYSQL_ASSOC))<br />      {<br />		  //echo $rsa['classname'].",".$rsa['id']."<br />";<br />		  $cid = $rsa['id'];<br />		  $resf=mysql_query('SELECT * FROM `pql_spices` where classid='.$cid.' ORDER BY id DESC');<br />          while($rsf=mysql_fetch_array($resf)) <br />          {<br />             $Prices+=$rsf['Price'];<br />          }<br />		  echo $i."、".$rsa['classname'].":".$Prices."元,";<br />		  $i++;<br />	  }


分類データテーブル pql_spices_class: 分類 1、分類 2、分類 3、... があり、各分類に対応する ID があります
リスト データ テーブル pql_spices: 製品があります名前、価格、カテゴリ ID、カテゴリ名

pql_spices テーブルの価格はカテゴリごとに個別に計算される必要がありますが、コードの結果は次のようになります。カテゴリ 1 の統計は正しく、カテゴリ 2 は確かに正しいです。カテゴリ 1 はカテゴリ 2 の合計とカテゴリ 2 の合計、カテゴリ 3 はカテゴリ 2 とカテゴリ 3 の合計、というように、新しいカテゴリの統計の合計に自動的に追加されます。前のカテゴリ、これは間違っています。

各カテゴリの統計を正確に取得するためのコードの書き方を教えてください。この質問をして私の聞きたいことが理解できるかわかりません。
------解決策----------------------
$Prices は常に累積されますか?当然、現在の結果は 0 です

グループ化された合計クエリ コマンドで達成できることについて話しましょう。なぜそれを完了するためにループ累積を使用する必要があるのでしょうか。
------ソリューションのアイデア----------------------
$sa='select * from pql_spices_class ID による順序 asc';

$ra=mysql_query($sa);

$i=1;

while($rsa=mysql_fetch_array($ra,MYSQL_ASSOC) )

{
[color="red"]$Prices=0;//ここをクリア[/color]
//echo $rsa['classname']."," $。 rsa['id']."
";

$cid = $rsa['id'];

$resf=mysql_query('SELECT * FROM ` pql_spices ` where classid='.$cid.' ORDER BY id DESC');

while($rsf=mysql_fetch_array($resf))

$Prices =$rsf['Price'] ;

}

echo $i.", ".$rsa['classname'].":".$Prices."元,"; ;

}


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。