PHPで動的な値を取得する方法

このQ&Aのポイント
  • PHPを使用して、動的に生成されたテーブルのチェックボックスの値を取得する方法について教えてください。
  • 配列の要素をfor文で回して、インプットタグのvalue属性にセットすることで、値を受け取ることができます。
  • 詳しいコード例を下記に示します。
回答を見る
  • ベストアンサー

PHP name 動的 value 取得

失礼します現在動的に生成されたテーブルにチェックボックスに✔した際に valueをPHPで受け取りたいです 例ですが 現在 $set_array[0]に array(4) { [0]=> string "hoge" [1]=> string "piyo" [2]=> string "hogehoge" [3]=> string "test" } という配列が[1],[2]と他にあるとして、 iをfor文で回して <td><input name="hobby[]" type="checkbox" value="<?php $set_array[i]?>"></td> とインプットタグを作り 上記ような形で受け取れると思ったのですがうまくいきません汗 ご教授いただければ幸いです。 宜しくお願い致します。

  • PHP
  • 回答数2
  • ありがとう数3

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

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5080/13274)
回答No.2

すいません「 if(isset($_POST['hobby']){ 」の部分で括弧が1個足りませんでした。 if(isset($_POST['hobby'])) { が正解だと思います。

losloson
質問者

お礼

ありがとうございます。 無事取得できました。

その他の回答 (1)

  • t_ohta
  • ベストアンサー率38% (5080/13274)
回答No.1

チェックボックスはチェックが入っていないモノのデータは送信されてこないので、チェックされた分だけ $_POST['hobby'] もしくは $_GET['hobby'] に配列で入ってくる事になります。 一つもチェックが入ってなければ送信されてきません。 なので if (isset($_POST['hobby']) { foreach ($_POST['hobby'] as $value) { ・・・・ } } という感じで取り出すしかありません。

losloson
質問者

補足

ご返信ありがとうございます。 記載していただいたコードを使用したのですが、 何故がsyntax errorが出てしまいます汗 <td><input name="hobby[]" type="checkbox" value="<?php $set_array[0]?>"></td> を <input type="submit" value="実行"> して if(isset($_POST['hobby']){ foreach($_POST['hobby'] as $value) { var_dump($value); } } しているのですが、、、

関連するQ&A

  • form value 複数 PHP

    失礼します。 現在checkboxがあり、submitでvalue値を受け取りたいのですが、一つのinputで出来れば渡したいです。value値に結合とはまた違うといいますか汗 例えば <td><input id="node" name='hobby[]' type="checkbox" value="<?php echo $test ?>"></td> とあった場合value値とは別にPHPに値を送信して受け取ることは可能でしょうか? もしなにか方法があれば教えて頂きたいです。 宜しくお願い致します。

    • ベストアンサー
    • PHP
  • 同じname 違うvalue PHP

    失礼します。 現在tableの中セルに入力formを作成しているのですが、 例ですが <table> <?php for($mt = 0; $mt < count($temp_array); $mt++) :?> <tr> <td><?php echo $TempArray[$mt] ?></td> <!-- sensorを回している --> <td><input type="number" name="number" min="0" max="30" /></td> </tr> <?php endfor; ?> </table> このようにテーブルをfor文でtdを作成した場合に、 <td><input type="number" name="number" min="0" max="30" /></td> で入力した値を配列で取得していきたいです。 同じnameだがvalueがすべて違うためどのような形で作成したらいいかわかりません 説明が下手ですいませんが何卒ご教授よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • phpで配列の重複する項目を多い順に並べたいです!

    $a = array("hoge","piyo","hoge","banana","hoge","piyo"); ↓ $b = array("hoge","piyo","banana"); みたいな配列があったとき、上のように重複する項目をまとめて、 さらに多い順に並び替えるにはどのようなコードを書けば良いですか?

    • ベストアンサー
    • PHP
  • [PHP]ループ内の配列取得、表示について

    質問させていただきます。 データをDBから取得しwhileで全てのデータを配列として出力しているとします。 (whileの中で出力し、3つのデータがあるため3回ループされている) 結果 array(1) { [0]=> string(5) "17:10" } array(2) { [0]=> string(5) "17:10" [1]=> string(5) "17:25" } array(3) { [0]=> string(5) "17:10" [1]=> string(5) "17:25" [2]=> string(5) "11:15" } 現在の出力内容は、 var_dump[$hoge[0]] 出力結果 string(5) "17:10" string(5) "17:10" string(5) "17:10" var_dump[$hoge[1]] 出力結果 NULL string(5) "17:25" string(5) "17:25" var_dump[$hoge[2]] 出力結果 NULL NULL string(5) "11:15" という出力になっていますが、最後のarray(3)の部分だけを抜き出したいです。 その場合はどのようにすればよいのでしょうか? -理想の結果- 利用したいのはarray(3)の部分だけ。 var_dump[$hoge[0]] "17:10" var_dump[$hoge[1]] "17:25" var_dump[$hoge[2]] "11:15" 説明不足かもしれませんが、よろしくお願いいたしますm(_ _)m

    • ベストアンサー
    • PHP
  • [php]mysqlデータ配列取得について

    お世話になります。検索しても中々辿り着けなかったので質問させていただきます。 途中から //mysqlより全データ検索 $result = mysql_query('SELECT id FROM hoge ORDER BY id'); //添字配列として全データ取得   while($row = mysql_fetch_row($result)){ //ここの処理で$rowの配列を一行の配列として足していきたい。 var_dump($row); print('<br />');   } 現在の出力内容は array(1) { [0]=> string(1) "5" } array(1) { [0]=> string(1) "6" } array(1) { [0]=> string(1) "7" } array(1) { [0]=> string(1) "8" } こうした形で出力されます。 理想の出力内容は各arrayを足して、 array(4) { [0]=> string(1) "5" [1]=> string(1) "6" [2]=> string(1) "7" [3]=> string(1) "8"} 一行として出力したいのですが、一向にできる気配がありません。 初歩的なものだと思いますが、とても困ってます。何卒よろしくお願いいたしますm(_ _)m

    • ベストアンサー
    • PHP
  • 連想配列 PHP 上書き

    失礼します あるkeyに対して配列の要素を追加したいのですが 上書きされてしまいます。 例えば array(1) { ["hogehoge"]=> string(8) "piyopiyo" } array(1) { ["hogehoge"]=> string(8) "tekoteko" } をあるkey array(3) { ["key"]=> array(24) { ["hogehoge"] => "piyopiyo" ["hogehoge"] => "tekoteko" のような感じで追加していきたいです。 ご教授よろしくお願いいたします。

    • 締切済み
    • PHP
  • チェックボックスから配列を使って値を受け取る方法

    チェックボックスから配列を使って値を受け取る方法について、 以下の通りに試してみたのですが、上手く行かず、 配列$fCに値が入りません。 どなたか原因を教えていただけないでしょうか。 ------------------------------------------------ hoge.html <form action="hoge.php"> <input type="checkbox" name="fC[]" value="hoge"> hoge <br> <input type="checkbox" name="fC[]" value="foo"> foo <br> <input type="checkbox" name="fC[]" value="bar"> bar <br> <input type="submit" value="OK"> </form> ---------------------------------------------------------- ------------------------------------------------- hoge.php <? for( $i=0; $i<count($fC); $i++ ) { print $i ." ::: " . $fC[$i] . "<br>\n"; } ?> ----------------------------------------------------------

    • ベストアンサー
    • PHP
  • PHP 配列 変換

    失礼します現在配列をvar_dumpすると array(3) { [0]=> string(32) "hogehoge" [1]=> string(32) "pipyup4646" [2]=> string(9) "1000%" } array(3) { [0]=> string(32) "testtest" [1]=> string(32) "kodsaf45454” [2]=> string(9) "500%" } array(3) { [0]=> string(32) "ldkfaofpjdsa" [1]=> string(32) "fasdfasdfaf4546" [2]=> string(9) "50000%" } となっておりこれを[0][1] = [2] のように[英語][英数字] = 値のようにしたいです。 ご教授いただけると助かります。 宜しくお願い致します。

    • ベストアンサー
    • PHP
  • 配列で渡されたチェックボックスの値の処理

    POST元のページから <input type="checkbox" name="hoge[23]" value="1"> <input type="checkbox" name="hoge[31]" value="0"> <input type="checkbox" name="hoge[33]" value="1"> ・・・ のような形でデータが渡されます。 要素一つに付き、ONなのか、OFFなのか、表示されていないのかの判別が必要なため、このような形になっています。 受けるPHP側で、hogeの配列番号と一致したものがあればそれに対する処理を行う必要があります。 $buff=array(20,30,31); となっているとして、 $_POST["hoge"]の配列の値と$buff内の数字が一致したら~ (上記例だと31が一致) の書き方はどう書けばいいでしょうか。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPからJavaScriptの指定形式へ変更

    PHPからJavaScriptの下記形式へ変更したいのですが、これは何と言う形式なのでしょうか? ・json? ・それともJavascriptオブジェクト? ■変更したいavaScript形式 [  ['hoge', 4.3],  ['piyo', 5.6] ], ■変更元のPHPデータ Array (  [0] => 'hoge',4.3  [1] => 'piyo',5.6 )

専門家に質問してみよう