- ベストアンサー
ラジオボタンのチェックの付け方。
sizen.csvというファイルがあります。 中身は ----- umi,海 yama,山 mizuumi,湖 ike,池 mura,村 ----- です。 このcsvファイルをsizen.phpに読込んで ラジオボタン使用の設問を作りたいと思っております。 プログラムは・・・ <form action="area.php" method="POST"> <?php $file=file("sizen.csv"); for($i=0;$file[$i];$i++){ $data=explode(",",$file[$i]); echo"<input type='radio' name='sizen' value='".$data[0]."'>"; echo"$data[1]<br>"; } ?> <input type="submit" value="次へ"> とできたのですが、チェックがついていません。 先頭にチェックボタン(今回の場合は海の選択肢に最初からチェックを付けたい)を付けたいのですが、どういう方法があるのでしょうか? if文を使って <form action="area.php" method="POST"> <?php $file=file("sizen.csv"); for($i=0;$file[$i];$i++){ $data=explode(",",$file[$i]); if($data[0]==umi){ echo"<input type='radio' checked name='sizen' value='".$data[0]."' >"; echo"$data[1]<br>"; }else{ echo"<input type='radio' name='sizen' value='".$data[0]."'>"; echo"$data[1]<br>"; } } ?> <input type="submit" value="次へ"> とすればできるのですが、 sizen.csvファイルの中身をよく変える為、 if($data[0]==umi){・・・・ という風に、$data[0]==umiのように固定はできません。 この方法を使わずに、ラジオボタンのチェックを いつも選択肢の先頭に付けるにはどのような方法があるのでしょうか? よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
if($data[0]) == umi) を if($i==0) というやりかたでは駄目ですか? この場合、例えばyama が一番上にきたときは yama にchecked がつきます。 質問の意味が違ったらすみません。
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
せんとうにつけるのであれば、カウンタをつけて、0のときにcheckedを つけ、それ以外の時は消せばよいでしょう。 こんな感じ <form action="area.php" method="POST"> <?php $handle = fopen("sizen.csv", "r"); $row=0; while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { $checked=$row==0?" checked":""; print <<<eof <input type='radio' name='sizen' value='{$data[0]}'{$checked}>{$data[1]}<br> eof; $row++; } ?> <input type="submit" value="次へ">