ラジオボタン、チェックボックスにデータを反映させるには?

[上に] [前に] [次に]
のん [E-Mail] 1999/12/09(木) 15:24:07
データベース上のデータをcgiにて、HTMLに表示しようとしています。
text形式の項目はvalue={タグ}を使用して表示すれば良いと思いますが、
ラジオボタンやチェックボックス等は、何も選択していない状態でしか
表示する事ができません。
データは、"1","2"・・・のように数字です。(例> 1:赤、1:白、3:青)
データを見て、チェックをつけた状態でHTMLに表示することができないでしょうか?

お知恵をお貸し下さい!! m(_ _)m

のん 1999/12/09(木) 15:26:52
すみません。「例」が間違ってました。
(例> 1:赤、2:白、3:青)でした。ごめんなさい。

宜しくお願いします。

ふにゃちん 1999/12/09(木) 16:04:15
(データベースから値を$hogehogeに設定後)
if ($hogehoge = 1) {
print "<input type=radio name=\"hogehoge\" value=\"1\" selected>赤\n";
print "<input type=radio name=\"hogehoge\" value=\"2\">白\n";
print "<input type=radio name=\"hogehoge\" value=\"3\">青\n";
} else {
if ($hogehoge = 2) {
print "<input type=radio name=\"hogehoge\" value=\"1\">赤\n";
print "<input type=radio name=\"hogehoge\" value=\"2\" selected>白\n";
print "<input type=radio name=\"hogehoge\" value=\"3\">青\n";
} else {
  if ($hogehoge = 3) {
   print "<input type=radio name=\"hogehoge\" value=\"1\">赤\n";
   print "<input type=radio name=\"hogehoge\" value=\"2\">白\n";
   print "<input type=radio name=\"hogehoge\" value=\"3\" selected>青\n";
  }
}
}

のようにやればいいのでは?

ふじ 1999/12/09(木) 16:19:37
念のため、言語は Perl だと仮定しますが。
上記ふにゃちんさんのソースを、もうちょっと簡単に。

$selected{$hogehoge} = 'selected';

print <<END;
<input type=radio name="hogehoge" value="1" $selected{'1'}>赤
<input type=radio name="hogehoge" value="2" $selected{'2'}>白
<input type=radio name="hogehoge" value="3" $selected{'3'}>青
END


ダブルクォートを使って
print "<input type=radio name=\"hogehoge\">";
なんて書くとエスケープのし忘れなどしやすいので

print qq(<input type=radio name="hogehoge">);

とか、ヒアドキュメントを使うとかすると、
見やすくなります。

ふにゃちん 1999/12/09(木) 16:21:34
<input type=radio … selected>
ではなくて、
<input type=radio … checked>
でした。
失礼しました。

[上に] [前に] [次に]