• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:データベースにある値でリストボックスを作成)

データベースの値でリストボックスを作成する方法

このQ&Aのポイント
  • 現在、PHPとMySQLを使用したプログラムを作成しているのですが、フォームのリストボックスの値にMySQLに登録されている値を使用したいのですがどうしたらよいのでしょうか?
  • リストボックスの値にデータベースで登録されている値を表示するにはどうすれば良いでしょうか?
  • PHPとMySQLを組み合わせてリストボックスにデータベースの値を表示する方法を教えてください。

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

  • ベストアンサー
  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.2

No.1です。 > MySQLに登録されているデータの個数分のリストボックスは表示されているようなのですが、値だけが表示されていません。 ということは、$WorkName[$Count] の値がきちんと代入されてないかもしれませんね。 切り分けのために、 <select name="inpWorkName"> を <!--select name="inpWorkName"> に、 <option value="<?=$WorkName[$Count]?>"><?=$WorkName[$Count]?> を <!--option value="<?=$WorkName[$Count]?>"><!--?=$WorkName[$Count]?> とコメントアウトし、 $WorkName[$Count] = $row[0]; の直後に print "DEBUG:";var_dump($WorkName[$Count]); として値が入っているか調べてみてはいかがでしょうか。 もし値がちゃんと入ってなかったら、$rsを取得しているSQL文に問題があるかもしれません。

shigure_mutsu
質問者

お礼

回答ありがとうございます。 確認したところ、$WorkName[$Count] に値が代入されていなかったようです。 修正した結果、正しく動作しました。 お手数をおかけして申し訳ありませんでした。

その他の回答 (1)

  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.1

$Count++; print("</tr>"); } ここの print("</tr>"); がいらないのでは? あと、関係ないですが、 for($j=0;$j<$num;$j++) { $WorkName[$Count] = $row[0]; } 同じことをループでまわしてやっているのが少し不思議。(ソースを省略しているのかな?)

shigure_mutsu
質問者

補足

回答ありがとうございます。 print("</tr>"); を削除してみましたがやはり表示されませんでした。 現状をもう少し詳しく説明しますと、MySQLに登録されているデータの個数分のリストボックスは表示されているようなのですが、値だけが表示されていません。

関連するQ&A