初めまして。
まだまだphpを初めて間もないのですが、勉強がてらphpで登録内容の変更フォームを作っています。
ただ、どうしても住所関連の部分で上手く処理が出来ずに悩んでいまして、
よろしければお知恵を拝借できないでしょうか?
↓ココから実際のコード-----------------------------------------------------------------
<select name="usaddress" id="usaddress" >
<option value="">お住まいの都道府県を選択してください</option>
<?
for ($i=01;$i<53;$i++) {
if(substr($i + 100 , 1 , 2) == $usaddress){
echo '<option value="' . substr($i + 100 , 1 , 2) . '" selected="selected">' . $selectprefecture_set[substr($i + 100 , 1 , 2)] . '</option>' . "\n";
}else{
echo '<option value="' . substr($i + 100 , 1 , 2) . '">' . $selectprefecture_set[substr($i + 100 , 1 , 2)] . '</option>' . "\n";
}
}
?>
</select>
↑ココまで実際のコード-----------------------------------------------------------------
$usaddressには登録者の都道府県コードが入っています。
DBから呼び出して当該ユーザーの都道府県コードが入ってきます。
$selectprefecture_setには、連想配列で都道府県名を突っ込んでいます。
コレを登録内容の変更フォームに組み込むと、
セレクトボックスの中身は表示されるんですが、
DBから取ってきた値がデフォルト値で表示されないのです・・・。
DBからはキチンと値を持ってきているのは確認できていますし、
正直どこが悪いのかすらわかっていません・・・。
宜しくお願い致します。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
こんにちは。
せっかく
> substr($i + 100 , 1 , 2)
とされているので、
> for ($i=01;$i<53;$i++) {
ではなく
for ($i=1;$i<53;$i++) {
ではどうでしょう?
$i=01 では8進数でまわっているような気がします。
No.2
- 回答日時:
$usaddressには正しく値が入っていますか?
>if(substr($i + 100 , 1 , 2) == $usaddress){
でマッチしていないせいかと・・・
以下のコードで動作しました(tmp.php):
---------
<?php
for ( $i = 1; $i < 53; $i++ )
{
$selectprefecture_set[ sprintf("%02d", $i) ] = '都道府県' . $i;
}
?>
<form action="tmp.php" method="post">
<select name="usaddress" id="usaddress" >
<option value="">お住まいの都道府県を選択してください</option>
<?
for ($i = 01 ;$i < 53; $i++ )
{
if ( substr($i + 100 , 1 , 2) == $_POST['usaddress'] )
{
echo '<option value="' . substr($i + 100 , 1 , 2) . '" selected="selected">' . $selectprefecture_set[substr($i + 100 , 1 , 2)] . '</option>' . "\n";
}
else
{
echo '<option value="' . substr($i + 100 , 1 , 2) . '">' . $selectprefecture_set[substr($i + 100 , 1 , 2)] . '</option>' . "\n";
}
}
?>
</select>
<input type="submit" value="post" />
</form>
---------
No.1
- 回答日時:
>echo '<option value="' . substr($i + 100 , 1 , 2) . '" selected="selected">' . $selectprefecture_set[substr($i + 100 , 1 , 2)] . '</option>' . "\n";
表示されたページを「ページのソースを表示」でどうなってるか確認してごらん。
それでも意味が判らないというならそれを保存するなりコピペしてテキストを新規作成するなりしてそれを検証してごらん。
http://openlab.ring.gr.jp/k16/htmllint/
この回答への補足
「selectedが与えられてないから」という意味でしょうか?
であれば、それは理解できているのですが何故forループが上手く回っていないのかがわからずに悩んでいます・・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アップロードファイルを表示す...
-
PHPで画像の渡しが上手く行きま...
-
php エラー
-
PHP 「あいまい検索」を行う関...
-
PHP MySQLに画像を直接保存
-
PHPのセッション有効期限について
-
PHPのエラーの解消法について教...
-
preg_matchで Warning: Undefin...
-
PHPで新規でファイル作成するや...
-
複数のパソコンの中の1つのパソ...
-
返信機能のツリー構造の深さを...
-
PHPについて。
-
phpのheader("Location:#pos")...
-
PHPからCSVをアップロード後、m...
-
[php初心者]サイトを見てデータ...
-
phpに関わる所での、form actio...
-
ゆゆにゃ。
-
【初心者】XAMPPのapacheの(恐...
-
プログラミング言語で、使える...
-
こちらはただの直列処理ですか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
phpでcookieがうまく保存されない
-
PHP8を使うと、大量のWarningが...
-
PHPで画像の渡しが上手く行きま...
-
PHPSpreadsheetを使って関数を...
-
PHP一覧表示した項目にリンクを...
-
フォームで戻った際に入力済み...
-
ワードプレスプラグイン MW WP ...
-
PHPについて。
-
jpgraphで表示されない
-
$_SESSIONについて教えて下さい。
-
クラス
-
phpに関わる所での、form actio...
-
PHP ページング データベース
-
php 入力画面から確認表示画面...
-
index.phpって何ですか? 具体...
-
アコーディオンPHPが上手くいか...
-
1 OR 1=1 は どんな論理(約束事...
-
reuterの記事をbeautiful.soup....
-
phpのメールフォームの完了画面...
-
PHPSpreadsheetによる書き出し...
おすすめ情報