• ベストアンサー

オプションメニューの書き方

全く基礎的なことでお恥ずかしいのですが、お教えください。 オプションメニューを次のようにして書こうとしているのですが、結果が現われません。正しい書き方を教えてください。 <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>

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

  • ベストアンサー
  • imasyu
  • ベストアンサー率36% (19/52)
回答No.1

まず答えから ********************** <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)
回答No.3

最近よく、この手の初歩的な間違いを見つけるため とりあえず書いておきますね。 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)
回答No.2

直接関係ありませんが、スペルミスをひとつ。 <SELECT saize="15" name="history">      ↓ <SELECT size="15" name="history">

関連するQ&A