例えばセレクトボックスで大阪をセレクトすると次のセレクトボックスが大阪の市区町村に、
京都を選択すると京都の市区町村が選べるようにするにはどうしたらいいのでしょうか?
PHPです
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/06/05 11:47
回答2件
0
ベストアンサー
こんにちは。
そのような動作をするUIを作成するならば、私でしたら、以下のようなタスクで
進めると思います。
(1) サーバー側(PHPとMySQLなど何らかのDB)の設計・開発
・以下の2つのテーブルを作成
- 都道府県マスタ
- 市区町村マスタ
・テーブルへのデータ投入
⇒ 最新の市区町村データをどこから、どのようにして持ってくるのか要検討
・以下のようなAPIを設計、開発
リクエスト: GET http://サーバーのドメイン/my-api/prefectures/<都道府県ID>
(※URLは、例えばのサンプルです。)
レスポンス: 指定した都道府県にある市区町村の一覧をJSONで返す。
(指定した都道府県コードの都道府県が無ければ 404 NOT FOUND)
(2) UI(画面)側の開発
ざっくり、以下のような仕様を想定
・都道府県のセレクトボックスは、option のvalue を都道府県コードにする。
・このセレクトボックスでchangeイベントが発生したら、option の値を取得して
(1)のAPIのURLを作成して、AJAXで呼ぶ。
・返ってきたJSONを何らかの要素に反映して表示する。
上記のような感じです。
蛇足ですが、(1)で作成するサーバー側APIの
http://サーバーのドメイン/my-api/prefectures/<都道府県ID>
のようなURLを設計するときに、自分が手本にしている
ガイド本が以下です。
apigee社:WEB API Design
以上ご参考になれば幸いです。
補足:
上記に書いたものをイメージして開発を進めれば、いったんは出来上がると思うのですが、
市区町村には統廃合があるので、(このシステムが何らかの実際の業務で使うものでしたら)
市区町村テーブルをアップデートする何らかの仕組みが必要になってくると思います。
投稿2015/05/18 01:34
編集2015/05/18 02:42総合スコア9058
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
javascriptをつかう必要があります。
Ajaxを使って、サーバからデータを取得します。
データを返すサーバサイドの開発はPHPでもOKです。
サーバ側にYahooの住所ディレクトリAPIを使用している例です。
http://jsdo.it/ksk1015/tSJ7
これも参考になると思います。
http://www.kawa.net/works/ajax/addrajax/addrajax.html
投稿2015/05/18 01:40
総合スコア55
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。