- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:mysql_num_rowを繰り返したい)
MySQLでラジオボタン選択肢アンケートの件数を抽出する方法
このQ&Aのポイント
- PHPとMySQLを使用して、ラジオボタン選択肢アンケートのデータをMySQLのテーブルに格納し、選択肢ごとの件数を抽出したいです。
- 現在のコードでは、mysql_num_row()関数を使用して件数を抽出しようとしていますが、正しい結果が得られません。
- forループを使用して、選択肢ごとに件数を抽出する方法を知りたいです。
- みんなの回答 (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); とすれば簡単に得られます。
お礼
早速のご回答ありがとうございます。 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を入れるにはどうすればよいでしょうか?