• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:phpの入力値の渡し方)

phpの入力値の渡し方

このQ&Aのポイント
  • phpの入力値の渡し方について考えています。ループでテキストボックスやセレクトボックスを作成し、それぞれのコントロールに入力した値を別のphpファイルに渡したいです。
  • ループではなく一つずつテキストボックスを作成すれば、個々のname属性をpostすることができますが、ループの場合、それぞれの入力値をどのように渡せば良いのかわかりません。
  • 上記の質問文章にあるコードを用いて、勤怠データの入力画面を作成しており、入力したデータをfoo.phpに渡したいと考えています。

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

  • ベストアンサー
  • ONEONE
  • ベストアンサー率48% (279/575)
回答No.1

whileのところを <?php $day = 1; while ($day < 32){ ?> <td><input type="text" readonly value="<?php echo $day ?>" style="width:20px;"></td> <td><select name="<?php echo $day ?>[start_time]" > <option value="0" > 0</option> <option value="1" > 1</option> </select> : <select name="<?php echo $day ?>[start_minute]"> <option value="00" >00</option> <option value="30" >30</option> </select> </td> <td><select name="<?php echo $day ?>[end_time]" > <option value="0" >0</option> <option value="1" >1</option> </select> :<select name="<?php echo $day ?>[end_minute]"> <option value="00" >00</option> <option value="30" >30</option> </select> </td> <td><input type="text" name = "<?php echo $day ?>[nyuryoku1]" value="" style=width:150px></td> <td><input type="text" name = "<?php echo $day ?>[nyuryoku2]" value="" style=width:150px></td> <td><input type="text" name = "<?php echo $day ?>[nyuryoku3]" value="" style=width:150px></td> </td> </tr> <?php $day++; } ?> のようにname = "<?php echo $day ?>[nyuryoku3]"のような形にします。 角かっこ[]でくくります。 すると$_POSTは以下のように取れます。 Array ( [touroku] => 登録更新 [1] => Array ( [start_time] => 0 [start_minute] => 00 [end_time] => 0 [end_minute] => 00 [nyuryoku1] => [nyuryoku2] => [nyuryoku3] => ) [2] => Array ( [start_time] => 0 [start_minute] => 00 [end_time] => 0 [end_minute] => 00 [nyuryoku1] => [nyuryoku2] => [nyuryoku3] => )  :  :

k-karasu
質問者

お礼

回答ありがとうございます! 勘違いしてました、[何番目]かの[POSTするname]で取得するんですね これなら[何番目]の部分をループで処理すれば入力値すべて取得できそうです。 PHP始めたばかりなのですがとても参考になりました。 感謝です!!

k-karasu
質問者

補足

回答、本当にありがとうございます。 whileの部分ですが、name属性の$dayが1のときそれに対する入力値を示しているということですよね。 回答を参考にnameを変更いたしましたがうまく値が取れていないか書き方が悪いかで思った動きになりませんでした・・ $_POSTの説明のところが理解力不足でわからなかったのですがwhileの部分のみ書き直しても、POSTを受け取る方はこの記述のままだとだめですよね。 たびたび申し訳ありませんがよろしくお願いします。

関連するQ&A

専門家に質問してみよう