• ベストアンサー

ページ間の値の受け渡しについて

緊急でPHPを用いて開発しなければならず、値の受渡し方法が調べても 結果がうまく出来ないために教えて下さい。 説明がうまくできないので、ソースの一部を下記に記載しております。 【keikaku.php】 <?php $link = DB接続 $query = "SELECT (1) , (2) , (3) FROM KEIKAKU WHERE 営業所= '東京'"; $res_result = mysql_query($query,$link); echo ("<form action='keikaku_input.php' method='POST'>"); while($row = mysql_fetch_array($res_result)){  echo ("<table border=1>");  echo ("<tr>");  echo ("<td><input type='radio' name='name' value=''></td>");  echo ("<td>");  echo $row['(1)'];  echo ("</td><td>");  echo $row['(2)'];  echo ("</td><td>");  echo $row['(3)'];  echo ("</td>");  echo ("</tr>"); } echo ("<input type='submit' value='次へ'>"); echo ("</form>"); ?> というSQLで一覧を表示させて、対象行のラジオボタンが選択されると (1)と(2)の値を使い、【keikaku_input.php】で更に別のSQLを実行後に 結果を表示させる事を行ないたいのです。 【keikaku.php】→【keikaku_input.php】へ(1)と(2)の値を渡したい場合 はどのようにすれば良いかご教授願えませんでしょうか?

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

  • ベストアンサー
  • yuu_x
  • ベストアンサー率52% (106/202)
回答No.3

serialize でいいか。 [code] <?php ... ?> <form action="keikaku_input.php" method="post"> <table> <tbody> <% while ($row = mysql_fetch_assoc($res_result)) : %> <tr><td><input type="radio" name="name[]" value="<%=htmlentities(serialize($row), ENT_QUOTES, 'UTF-8');%>"></td> <% foreach ($row as $value) : %> <td><%=htmlentities($value, ENT_QUOTES, 'UTF-8');%></td> <% endforeach; %> </tr> <% endwhile; %> </tbody> </table> </form> [/code] ちなみに元データが、データベースでなく、XML なら、抽出から変換まで、、、まぁいいや。

その他の回答 (4)

  • bm_hiro
  • ベストアンサー率51% (200/388)
回答No.5

配列を一行で渡したい時は #3 さんのやり方が お勧めです。 余計なお世話かな~と思いつつ、#3 さんのやり方の補完です。 シリアライズされた文字列 = htmlentities(serialize(配列), ENT_QUOTES, 'UTF-8'); の 対になるのが、 配列 = unserialize(html_entity_decode(シリアライズされた文字列)) です。 keikaku_input.php で受け取ったものを、配列に戻してください。

t036jp
質問者

お礼

皆様、ありがとうございます。時間がなく、ラジオボタンではなく <A>タグで逃げてしまったのですが、serializeの事は大変勉強に なりました。INSERT等にも色々と使えそうなので、マスターします。 本当にありがとうございました。

  • yuu_x
  • ベストアンサー率52% (106/202)
回答No.4

訂正 name="name[]" → name="name"

noname#243182
noname#243182
回答No.2

PHPではINPUT要素のNAME属性に配列を指定することが出来ます。 チェックボックスの例がありますので、ラジオボタンに置き換えてお試しください。

参考URL:
http://www.php.net/manual/ja/language.variables.external.php
  • yuu_x
  • ベストアンサー率52% (106/202)
回答No.1

PHP が理解できる形式で渡してやればよくないですか? 1. uri クエリ, JSON ( XForm を使いたいけど、実装されてるブラウザはほとんどない。) 2. 検索に必要な鍵だけ渡して、受け取り側で再検索。 ... ちなみに echo は関数ではないので、() はいりません。あったりなかったり、、、まぁいいや。

関連するQ&A