• ベストアンサー
  • すぐに回答を!

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

  • 質問No.5387678
  • 閲覧数168
  • ありがとう数2
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 37% (19/51)

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に登録する際は数字でいいんですが。

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

  • 回答No.1
  • ベストアンサー

ベストアンサー率 51% (3827/7415)

>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="社会" >社会

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

お礼率 37% (19/51)

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

その他の回答 (全1件)

  • 回答No.2

ベストアンサー率 51% (3827/7415)

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

?>

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

?>
お礼コメント
s_mac_ts

お礼率 37% (19/51)

ありがとうございました!完璧です。
まだまだ聞きたいことはたくさんありますが、この質問の投稿で聞きすぎるのもあれなので…。
本当に助かりました。
投稿日時:2009/10/22 17:28
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ