• ベストアンサー

フォームに入力された値から、PHPでCSVデータを読んで表示させたい。

フォームに入力された値から、PHPでCSVデータを読んで表示させたい。 現在、PHPでお申し込みフォームを作成中なのですが、どこのページから来たかを判別するための値から、そこのページ名を表示させたいのですが、うまくできません。 CSVファイルには1列目に値、2列目にページ名が書かれたものが、50行あります。その中から、 例えば値が5だったら、5行目の2列目に書かれているページ名を表示させたいのですが、どうしたらいいのか、教えていただきたいです。

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

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

こんな感じでしょうか。 手抜きでザックリ作ってあり、無駄な処理してる感も否めませんが、 動きを確認してみて、自分で改造してみてください。 =========================================================== hoge.php =========================================================== <html> <head> <meta http-equiv=content-type content=text/html; charset=utf-8> </head> <body> <? $me = $_SERVER[PHP_SELF]; if (!$_REQUEST) { print " <form action=$me method=post> 1~6の数字を入力してください。 <input type=text name=num size=2> <input type=submit value='送信'> </form>"; } else { $Title = "該当なし"; $num = $_POST[num]; $DimPageTitle = file("PageTitle.csv"); foreach($DimPageTitle as $i => $csv) { list($cnum , $ctitle) = explode("," , trim($csv)); if ($cnum == $num) { $Title = $ctitle; break; } } print "フォームから入力した数字は[$num]、CSVファイルのリストに合致したページ名は[$Title]です。"; } ?> </body> </html> =========================================================== =========================================================== PageTitle.csv =========================================================== 1,one 2,two 3,three 4,four 5,five 6,six ===========================================================

makino822
質問者

お礼

返事が遅くなってしまいすみません。 自分でいろいろやってみても、全然できなかったので、 本当に助かりました。 ありがとうございました。

関連するQ&A

専門家に質問してみよう