- ベストアンサー
オプションメニューの書き方
全く基礎的なことでお恥ずかしいのですが、お教えください。 オプションメニューを次のようにして書こうとしているのですが、結果が現われません。正しい書き方を教えてください。 <SELECT saize="15" name="history"> <? $hisITEMS[0]='aaaaaaaaa'; $hisITEMS[1]='bbbbbbb'; $hisITEMS[2]='cccccccccccc'; $hisITEMS[3]='dd'; $hisITEMS[4]='eeeeeeeee'; for ($j=0; $j<count($hisITEMS); $j++) { <option value=$j>echo $hisITEMS[$j]</option> } ?> </SELECT>
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
まず答えから ********************** <SELECT saize="15" name="history"> <?php $hisITEMS[0]='aaaaaaaaa'; $hisITEMS[1]='bbbbbbb'; $hisITEMS[2]='cccccccccccc'; $hisITEMS[3]='dd'; $hisITEMS[4]='eeeeeeeee'; for ($j=0; $j<count($hisITEMS); $j++) { echo ("<option value=$j> $hisITEMS[$j]</option> "); } ?> </SELECT> *********************** 質問文では echoより前にHTMLがあります。~<option value=$j>echo~ ("")でHTMLソースを括ったほうがいいです。プログラムの可読性も増します。 行末に;をつけるのを忘れないようにしましょう。 このまま吐き出したらエラーメッセージがでるはずなのでそれも一緒に書いて質問すると、より的確な回答が得られると思いますよ。
その他の回答 (2)
- duckling
- ベストアンサー率47% (88/185)
最近よく、この手の初歩的な間違いを見つけるため とりあえず書いておきますね。 PHPの <? から ?> の中には 「PHPの文章しか書いてはいけません」 「PHPはHTMLの中に簡単に埋め込める」という話が出回っているためか、 PHPコードの中にそのままJavaScriptやHTMLを書き込こんで 「動かないんです」と言う人が多いみたいです。 PHPを記述する場所にHTMLを書き込みたい場合は、 print、もしくは echo 関数で出力する、という形をとらなければいけません。 for ($j=0; $j<count($hisITEMS); $j++) { print "<option value=$j> $hisITEMS[$j]</option>"; } か for ($j=0; $j<count($hisITEMS); $j++) { ?> <option value=$j> <? print $hisITEMS[$j]; ?></option> <? } で、動きますよ。
- raad
- ベストアンサー率32% (47/144)
直接関係ありませんが、スペルミスをひとつ。 <SELECT saize="15" name="history"> ↓ <SELECT size="15" name="history">