電子書籍の厳選無料作品が豊富!

php,mysqlを使ってホームページを作っています。
ユーザー登録で入力した値をDBに書き込み、次にユーザー登録情報編集でその値をリストボックスに表示させたいのですがやり方を教えてください。DBに書き込むところまではできましたが、編集画面がうまく作れません。

(例)
リストボックス
 --- ←ユーザー登録画面での初期位置
 東京
 神奈川
 千葉

リストボックス
 東京
 神奈川 ←DBに書き込まれた値が初期位置になるようにしたい
 千葉

<select size="1" name="area">
<option value="" selected>---
<option value="東京">東京</option>
<option value="神奈川">神奈川</option>
<option value="千葉">千葉</option>

A 回答 (4件)

失礼しました(^^;


<? if($db == "東京"){ echo("selected"); } ?>
のように、echo("selected")の後に「;」セミコロンをつければエラーは消えると思います。
    • good
    • 0
この回答へのお礼

できました!
度々有難うございました。

お礼日時:2005/10/22 01:58

私が作成していたクソサイトでそんな事を可能にする関数を公開しています。



<option>タグを文字列として生成します。
http://www.cherry-sunburst.com/hazimeteno-homepa …

ファイルから都道府県の一覧を取得してきていますので、
そこは適当に変更されて構いません。
また、<option>タグのvalueが連続する数値になりますので、
valueを文字列指定したい場合は、変更する必要があります。

手順は以下の通り。
【登録時】
 ・AreaCombo(0, "") と呼び出す。

【確認画面から登録画面へ戻った場合】
 ・AreaCombo(0, $Value) と呼び出す。


If (登録時) {
  $Value = "";
ElseIf (修正時) {
  $Value = $_POST['Area'];
}
みたいな感じで、AreaCombo(0, $Value)に統一。

【修正時】
 ・AreaCombo(0, $Value) と呼び出す。
 ・$Valueは、DBから取得してきた値。

基本的にやりたい事は実現出来ると思います。
ファイルをそのまま利用しなくても、都合の良いよう
ご自身でコピペなどして下さい。

参考URL:http://www.cherry-sunburst.com/hazimeteno-homepa …
    • good
    • 0
この回答へのお礼

ちょっと難しいですがとても参考になります。
有難うございました。

お礼日時:2005/10/22 02:01

DBから値を取得して$dbという変数に入れます。


$db = "神奈川" ←ここでは例えば$dbに神奈川を入れるとして、

HTML部分で
<select size="1" name="area">
<option value="" <? if($db == ""){ echo("selected") } ?>>---
<option value="東京" <? if($db == "東京"){ echo("selected") } ?>>東京</option>
<option value="神奈川" <? if($db == "神奈川"){ echo("selected") } ?>>神奈川</option>
<option value="千葉" <? if($db == "千葉"){ echo("selected") } ?>>千葉</option>

とやってあげればできると思います。^^

この回答への補足

ありがとうございます。
書かれている通りにやってみましたが、
Parse error: parse error, unexpected '}', expecting ',' or ';'
とエラーが出てしまいます。

補足日時:2005/10/20 20:33
    • good
    • 0

ユーザー情報から神奈川県のところに


selectedを書くようにソースを書けば
よいのではないでしょうか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!