みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

phpでチェックボックスでの値の表示について

HTMLで作成したテキスト、セレクト、チェックボックスなどに、選択されたもの全てをPOST送信で受け取って
PHPにてパラメータをチェックしてから
確認画面(HTML)に表示してPHPにてDB登録するというプログラムを作ってます。

HTML側で
<input type="checkbox" name="genre[0]" value="1" >国語
<input type="checkbox" name="genre[1]" value="2" >算数
<input type="checkbox" name="genre[2]" value="3" >理科
 <input type="checkbox" name="genre[3]" value="4" >社会
として例えば、
<?php
$genre = $_POST["genre"];
foreach ($genre as $key => $value){
print($value);
}
?>
で表示するとチェックした数字が表示されます。
(国語をチェックした場合 1)
これを 国語 と表示させるにはどうすればいいんでしょうか?
DBに登録する際は数字でいいんですが。

投稿日時 - 2009-10-22 16:14:45

QNo.5387678

すぐに回答ほしいです

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

>HTML側で

<input type="checkbox" name="genre[]" value="1" >国語
<input type="checkbox" name="genre[]" value="2" >算数
<input type="checkbox" name="genre[]" value="3" >理科
<input type="checkbox" name="genre[]" value="4" >社会

としておいて、対比表で処理します

<?php
$kamoku=Array(1=>"国語",2=>"算数",3=>"理科",4=>"社会");
$genre=$_POST["genre"];
foreach ($genre as $key => $value){
print($kamoku[$value]);
}
?>

場合によっては

<input type="checkbox" name="genre[]" value="国語" >国語
<input type="checkbox" name="genre[]" value="算数" >算数
<input type="checkbox" name="genre[]" value="理科" >理科
<input type="checkbox" name="genre[]" value="社会" >社会

とする手もありますが、ユーザーから送られてくるデータは信じられないので
あまり良いやりかたとは言えません。

投稿日時 - 2009-10-22 16:30:51

補足

ありがとうございます。やりたいことが出来ました!
複数選択した場合に確認画面では
国語算数
と表示されるんですがカンマなりスペースを入れる場合はどのようにしたらいいんでしょうか?

投稿日時 - 2009-10-22 16:49:48

ANo.1

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

<?php
$kamoku=Array(1=>"国語",2=>"算数",3=>"理科",4=>"社会");
$genre=$_POST["genre"];
$str="";
foreach ($genre as $key => $value){
if($str!="") $str.=",";
$str.=$kamoku[$value];
}
print($str);

?>

みたいな感じでどうでしょう?

?>

投稿日時 - 2009-10-22 17:14:11

お礼

ありがとうございました!完璧です。
まだまだ聞きたいことはたくさんありますが、この質問の投稿で聞きすぎるのもあれなので…。
本当に助かりました。

投稿日時 - 2009-10-22 17:28:46

あなたにオススメの質問