• ベストアンサー

PHP+MySQL 2次元配列をPOSTで渡す処理について

こんにちはー! PHPで作った2次元配列をPOSTで渡す場合、丸ごと渡すことはできないのでしょうか。 1.CSVファイルを選択させ、読み込み 2.CSVの内容確認画面を表示 3.ユーザに対象レコードを選択させる 4.データベースへ追加 という処理を作っています。 「2.内容確認画面を表示」の際、 内容表示部分と、データベース追加用のPOSTで渡す部分は 配列をループさせています。 内容表示部分は問題無いですが、データベース追加用の部分は 配列の要素数分hiddenタグを書き出しています。 要素数が多ければ多いほど、 ソースがすごい量になってしまうのですが、 配列を丸ごと渡すことはできないのでしょうか? PHP4、もしくはPHP5でなにか方法はないでしょうか?

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

  • ベストアンサー
  • gogo-tea
  • ベストアンサー率75% (25/33)
回答No.2

hiddenがたくさん並ぶのが嫌であれば#1さんのおっしゃられる通りセッションを使うのが良いかと思います。 $hogeが以下のような配列だとして、 $hoge = array("aaa","bbb","ccc"); -----渡すphp----- session_start(); for($i=0;$i<count($hoge);$i++){ $_SESSION['hoge'][] = $hoge[$i]; } といった感じに格納して -----受けとるphp----- session_start(); $gethoge = $_SESSION['hoge']; for($i=0;$i<count($gethoge);$i++){ やりたい処理; } でいけるかと思います。

その他の回答 (2)

  • racchoman
  • ベストアンサー率71% (20/28)
回答No.3

セッションを使わない方法も書いてみます。 内容確認画面からは、ユーザが選択したレコードの、レコード識別子のみがサーバにPOSTされてくるようにします。 4の処理では、サーバ側のCSVファイルを再度読み込んで、上記のレコード識別子に該当するデータを取得し、それをDBに追加します。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

セッションで渡せるかもしれません