• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:mysql_num_rowを繰り返したい)

MySQLでラジオボタン選択肢アンケートの件数を抽出する方法

このQ&Aのポイント
  • PHPとMySQLを使用して、ラジオボタン選択肢アンケートのデータをMySQLのテーブルに格納し、選択肢ごとの件数を抽出したいです。
  • 現在のコードでは、mysql_num_row()関数を使用して件数を抽出しようとしていますが、正しい結果が得られません。
  • forループを使用して、選択肢ごとに件数を抽出する方法を知りたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

みたかんじmysql_num_rows()ではなく SQLでcount(*)を使う方が効率的ですね・・・。 SELECT * FROM an WHERE field=1 ではなく SELECT field,count(*) AS count FROM an GROUP BY field どうしても今のままでやりたいならあまりお勧めはしませんが $kotae.$i = mysql_num_row($rst); のところを ${"kotae".$i} = mysql_num_row($rst); としてみてください。 そもそもforをつかうなら配列を使うべきですね。 $kotae[$i]=mysql_num_rows($rst); とすれば簡単に得られます。

brosis
質問者

お礼

早速のご回答ありがとうございます。 yambejpさんは、配列を使うべきだとおっしゃいました。 では、 for ($i = 1; $i <=5; $i++) { $rst = mysql_query("SELECT * FROM an WHERE field=$i",$con); $kotae[$i] = mysql_num_rows($rst); } とした場合、仮にfield=1 のmysql_num_rows()が21だったとしたら、 $kotae[1]には、21の10の位の2だけが入ってしまいます。 $kotae[1]に、21を入れるにはどうすればよいでしょうか?