ホームページ >バックエンド開発 >PHPチュートリアル >このサイクルはどうすれば修正できるのでしょうか?

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

WBOY
WBOYオリジナル
2016-06-20 12:47:05811ブラウズ

$sa='select * from pql_spices_class order by id asc';      $ra=mysql_query($sa);	  $i=1;	  while($rsa=mysql_fetch_array($ra,MYSQL_ASSOC))      {		  //echo $rsa['classname'].",".$rsa['id']."<br />";		  $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."元,";		  $i++;	  }


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

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

各カテゴリの統計を正確に取得するためのコードの書き方を教えてください。この質問をして私の聞きたいことが理解できるかわかりません。


ディスカッション (解決策) への返信

あなた $価格は常に累積され、0 にクリアされません。当然、それは現在の結果です。

グループ合計のクエリ コマンドで完了できるものについて、なぜループ累積を使用して完了する必要があるのか​​について話しましょう。 ?

どうすればクリアできますか?

オフトピック: フォーラムの返信クリック引用が応答しないのはなぜですか?

$sa='select * from pql_spices_class order by id';

$ra=mysql_query($sa);

$i=1; 🎜> while($rsa=mysql_fetch_array($ra,MYSQL_ASSOC))

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

$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['価格'];

}

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

$i++;

}


ああ、今日もバカでした。お二人とも、ありがとうございました。

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