配列のキーと値の両方を次画面に受け渡す。 - PHPプロ!Q&A掲示板

3331

  • 0P

配列のキーと値の両方を次画面に受け渡す。

質問日時 / 2011年8月4日 20:15    回答数 / 1件

Questioner:  nikekun  このエントリーをはてなブックマークに追加 

キーワード / array    hidden   

いつもお世話になっております。
配列のキーと値の両方を次の画面に受け渡そうとしています。
具体的にはドロップダウンで選択したキーを100円といった形で表示させ、
なおかつ注文内容(値)も先に表示させて
 
 お客様のご注文
 
     1枚 金額100円

という形にしたいのです。
(ドロップダウンをいくつも作り、合計金額を演算しようとしています。)
if文elseif文と変数とで

if($_POST['price']=='100'){
$value='1枚';
}
echo $value.$_POST['price'].'円';

elseifif($_POST['price']=='450'){
$value='5枚';
}
echo $value.$_POST['price'].'円';
なども考えましたが、もうすこしスマートにいかないものかと思いまして…

浅い知識で考えhiddenで値のほうを渡そうとしましたが、最後の値しか表示されません。
以下ソース↓

<form method="post" action="price_check.php">


<?php

$price=array('100'=>'1枚','450'=>'5枚','850'=>'10枚');
//ドロップダウンリストで$priceの値を表示する
echo'<select name="price">';
foreach($price as $option=>$label){
//キーをvalueに入れる
echo'<option value="'.$option.'"';
//デフォルト値の維持
if($option==$_POST['price']){ echo 'selected="selected"';}
echo'>'.$label.'</option>';

}
echo'</select>';
//hiddenで$_POST['hidden']に渡そうとするけれど最後の値(10枚(850円))以外が表示されない。
foreach($price as $option=>$label){
echo'<input type="hidden" name="value" value="'.$label.'">'
}
?>

<input type="submit"name="submit" value="クリック">
</form>

どなたか解決法を教えてください。

この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。



ツリー一覧

┗A01iroha_codeこの意見は投稿者によって削除されました。
 ┗A01-1nikekunテキストファイルを作って解決しました。 助かります

回答一覧

並び替え:

A01 満足
answereriroha_code [8月4日 21:44] (最終編集:8月4日 22:04)

この意見は投稿者によって削除されました。

ツリーへ TOPへ

A01-1
replyernikekun [8月5日 11:18]

テキストファイルを作って解決しました。
助かります。ありがとうございました。

この意見に回答する

ツリーへ TOPへ

<<質問一覧へ



Pick Up Q&A

Q
array_mergeの再帰処理の動作について
 このエントリーをはてなブックマークに追加 
A
>1個になったとき$leftを返しますが、 >このとき、最終的な$leftはnullになるかと思います。 いいえ、最後は「渡された配列をそのまま」返します。要素が2以上あるときとの違いは(並べ替えずに戻るので...

>>続きを読む

再帰関数は最初の内は混乱しますが、非常に上手く使える場面もいずれ出てきます。これを機会に学んでいけるといいですね。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)