配列のキーと値の両方を次画面に受け渡す。 - PHPプロ!Q&A掲示板
配列のキーと値の両方を次の画面に受け渡そうとしています。
具体的にはドロップダウンで選択したキーを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>
どなたか解決法を教えてください。
この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。





ページのトップへ


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