
こんばんは。プログラム初心者です。
今、PHPとDBを使用したプログラムを組んでいます。
PHPはsmartyを使用してます。
そこで画像投稿画面を作成していまして、
DBと連動したプルダウンを作成したいのですが、
全然作れなくて困っています。
やりたいことはHTML側で元々記述してあるセレクトした値を飛ばして
DB接続し、その値をそのままSQLに組み込んで
紐づいたデータをそのままプルダウンで表示させたいです。
こんな感じです↓
http://jsajax.com/NestedDropDown2Article686.aspx
phpだけだとリロードしたりすることになるので、
JavaScriptを使用すると思いここに質問させていただいてます。
恐らく、JavaScriptでHTMLのvalue(値)を取得し、
別のPHP(DB接続とSQLの記述をしたもの)に値を渡して、
そこから元のPHPに戻るといったことをやればいいのでは…
と思っていまして、接続、SQL用の別PHPは作成しました。
(非同期通信って云うんですかね)
その際、2次元配列(配列の中は連想配列)で取得していて、
valueはその内の1つ、実際テンプレート側に
表示する文字は別の1つを表示させたいです。
SQLを流す側のPHPで配列は
【0】
[zip]
[town]
【1】
[zip]
[town]
…
といった感じの二次元配列を取ってます。
それを
<option value="{$zip}">{$town}</option>
みたいな形で取れた分、プルダウン作成したいです。
<option value="">選択してください</option>
のプルダウン初期表示も欲しいです。
色々調べてみたんですが、
JavaScriptが難しくてhtmlの値すら取ることができず、
全然できません。どのように記述したらよろしいでしょうか?
他で使用しているため、j-queryは入れてあります。
ご教授のほど是非よろしくお願いします。
No.2ベストアンサー
- 回答日時:
意図がうまくつたわっていないかもしれないので・・・
>サブミット
これはformで<input type="submit" ...
をつかって明示的にサブミットすることをおすすめています。
もちろんjavascriptで代替的にサブミットすることは可能です。
その際は、どういう状態になったらサブミットしていいのかを
コーディングして、条件が一致したら処理をするというのが妥当です。
たとえばセレクトボックスA、Bが初期値ではなく、テキストボックス
x,yに値がはいっている・・・など条件を考え、それに付随して
オブジェクトにonchangeトリガーをはっておくということです。
javascriptについて理解が浅いのであれば勉強してくださいとしか
いいようが・・・
またajaxについてはご指摘の通り非同期処理なので、特定の
セレクトボックスのonchangeイベント処理だけ気にしておけば十分です。
zipを選ぶと住所がでるとか。まぁその程度
だいぶお返事遅れて申し訳ありません。
回答ありがとうございます。
なんか少し勉強してやってみたらどうにかこうにか
できました。難しいですね。
もう少し勉強してみます。
ありがとうございました。
No.1
- 回答日時:
考え方は3つ。
(1)Ajaxで処理する。
(2)全てのデータをあらかじめ読込んでおき、必要にあわせて表示する
(3)フレーム系の処理
(1)>(2)>(3)の順でおすすめ
(2は理論的には可能だが大きなデータはお勧めできない、
3はいまどきフレームっていうのは・・・)
javascriptは所詮環境依存なのでやはりきちんと毎回サブミットして
やるのがまっとうなやり方だと思います
回答ありがとうございます。
AJAXが確かに便利で良さそうですね。
サブミットですが、プルダウンで
どのように行えば良いのでしょうか?
今作成しているのが、各項目ごとに
テキストボックスやプルダウン諸々があって、
それを記入後にサブミットといった形を取りたいので
プルダウン記述してすぐサブミットといった形だと
おかしなことにならないのでしょうか?
あとjavascriptでの値の取り方、
それを経由してのjavascript側から
php側での値の取り方といったこともよくわかりません。
お手数ですが、回答いただけるとありがたいです。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
jsonテキストデータの並び替え...
-
jsで質問です。 ボタンが二つ存...
-
スマホ上で、左右スワイプで次...
-
ラジオボタンを複数選択したと...
-
Outlookのアカウントがあるとメ...
-
変数宣言と初期値代入の場所に...
-
Adobe acrobat proでフォームを...
-
初心者です。gulpでコンパイル...
-
階層別の組織図の自動作成について
-
ボタンを押したあとに画像を表...
-
Cookieに保存されない
-
画面遷移を行わずに同一ページ...
-
インスタグラムのapiを利用して...
-
タグを教えてください。
-
jsで質問です。 formをsubmitし...
-
2025年相性がいい人のサイトの...
-
CookieをWebStoeageに変える
-
jqueryのselect2で検索欄の文字...
-
<tr>指定した表の行要素をボ...
-
食材の期限を管理するためにGAS...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
イベントの発生
-
「戻る」ボタン使用時のフォー...
-
助けてください!スパムメール...
-
画面遷移を無くすためajaxでメ...
-
プルダウン式のフォームについて
-
PHP処理実行後のページの遷移に...
-
POSTでリダイレクト
-
Excelの起動
-
Onclickイベントでデータをcgi...
-
AJAX→PHP -DB(MySQL)- PHP→AJAX...
-
jqueryについて
-
ウェブフォームにjavascriptは...
-
JavaScriptで月に対して日の整...
-
自身のページとiframeの2つのペ...
-
javascript と php の、フォー...
-
Ajax以外で、JavaScriptからPHP...
-
javascript外部ファイルから読...
-
Jquery を使った住所情報の自...
-
javascript・JSP関連
-
フォーム入力の自動切換え
おすすめ情報