質問: $row["dealerB_price"]; // 要改善2 echo '} } '; ?> どうかよろしくお願いします。不明な点は随時補足にて記述させていただきます。
回答: 回答はもう出ていると思いますが... 基本的に、phpはブラウザから表示のリクエストがあったときにそれに応じた内容のHTMLを送信する。 javascriptは、ブラウザがデータを受け取って表示し、ユーザが操作したときに動作。 なので、タイミングがまったく違います。(No3様が回答済) ついでながら、ご提示のソース及び補足では、onchange="getText(this)に対して、function check1() {~~ となっていて、関連性が見られません。 それなので、 (1)phpは初期状態のHTMLを送信(最初に表示される内容) ユーザが操作した値に応じて、スクリプトがphpにリクエストを送信 phpはそれを受け取り、再度、表示データ部分を入れ替えたHTMLを送信 ブラウザがその内容を表示(リフレッシュする) (2)ユーザが操作したときに、スクリプトでphpに選択値を送信 phpはそれを受け取り、対応するデータを出力 スクリプトがphpからのデータを受け取り、ブラウザに表示 (変更部分のみ表示が変わる) (3)最初にphpで出力する際に、全部のケースのデータを送信 スクリプトで初期表示状態をセット(不要なものは表示しない) ユーザの操作に応じて、スクリプトで表示するデータを入れ替える。 (変更部分のみ表示が変わる) みたいな処理のどれかになるのではと思われます。 (1)はNo.3様が回答なさっている方法。 (2)はajaxと言われる方法です。ぐぐればいろいろ資料が見つかると思います。 (3)はselectの数が多いと最初のデータ量が多くなるなどの場合は不向き。 (逆に少量のデータならこの方法のほうが簡単) で、以下は(3)の場合の例。 (HTMLソースで記していますので、phpからはこんな感じのソースを送信する) test 問屋A 問屋B 問屋C 問屋Aが選ばれた場合に表示する内容 問屋Bが選ばれた場合に表示する内容 問屋Cが選ばれた場合に表示する内容