• 締切済み

都道府県→沿線→駅表示

http://www.ekidata.jp/tools/smp_select01.html ↑上記のサイトのような 都道府県選択   ↓ 沿線選択   ↓ 駅表示選択 を表示するプログラムを作成したいのですが、Ajax(JavaScript)が 苦手な為いまいち分かりません。 シンプルな作りのプログラムで上記のサイトのように表示するプログラムサンプルを教えてください。 都道府県・沿線・駅データはMySqlにあります。 基本的な動作プログラムはPHPを使用しております。 お手柔らかによろしくお願いします。

みんなの回答

回答No.3

> を表示するプログラムを作成したいのですが、Ajax(JavaScript)が > 苦手な為いまいち分かりません。 Ajaxのみわからないのでしょうか? Ajaxの基本はXMLHttpRequestオブジェクトかActiveXObjectを作成して、 obj.open(url); obj.send(data); したら受信したデータを画面に反映させるだけです。 これもAjaxとは直接関係ないのですが、サーバーサイドの処理として、 MySQLに関して、SQLに関して、PHPに関して、どの様な処理をしなければならないかというのはわかりますか? ようするに、Ajaxを使わずにJavaScript、DOMだけで参考にされたサイトと同じ物が作れることが前提、ってことですが、 それがわかるなら、ざっと検索して出てきたサイトですが、 http://www.imztry.net/dhtml/018/018.html こういうサイトのコードを見れば、すぐにわかると思います。 document object(参考にされたサイトのdocument.form・・・の部分)やDOM(上記サイトのdocument.getElementByID()など)がわからなければ、Ajaxは使えませんので、 まずそちらから勉強する方がいいと思います。 参考サイトはJSONPですので、Ajaxとは違いますが、 受信したデータを反映させる xml.onload=function(data){} という部分の処理内容は、Ajaxでもほとんど変わりません。 Ajaxでは、JSONで書かれたデータを処理する場合は、 eva(ajaxObject.responseText); という処理を、データ受信後の最初に追加してください。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

>都道府県・沿線・駅データはMySqlにあります。 都道府県テーブル、沿線テーブル、駅データテーブルがあり データベースが正規化されている前提であれば 沿線テーブルには都道府県テーブルで得られるidを渡してやれば 適応する沿線リストを得られるしょうし、そこで選択したidを わたしてやれば駅リストは用意に得られます。 Ajaxでやるのであれば、GETでパラメータをわたして、その結果を 吐き出すようなPHPをくめばよいでしょう。

  • Willyt
  • ベストアンサー率25% (2858/11131)
回答No.1

まずデータをソーティングします。そして都道府県、沿線、駅名毎に番号を振り付け、都道府県一つ一つについて、それがぶら下がる沿線の番号を網羅したテーブル(ARRAY)を作ります。次に沿線一つ一つについて、それにぶら下がる駅名を網羅したテーブルを同じように作ります。これを作っておけば、インプットデータが駅名の場合にはその沿線のテーブルを探して沿線名を決め、今度は県名テーブルを探して県名を決めます。これを迅速にやりたい場合は逆テーブルを作っておけば早くなります。  要するにテーブルを作ってやればいいのです。このくらいのデータならオンメモリーでじゅうぶんですが、厖大なデータになるとテーブルをHDに持って行く必要が出て来ます。その場合にはファイルはランダムアクセスできるようにしておかなければなりません。

関連するQ&A