質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

0回答

486閲覧

htmlのプルダウンメニューを選択する度に第二プルダウンの値を動的に変更させたい

nguyenseiji

総合スコア156

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

1クリップ

投稿2020/08/22 08:58

編集2020/08/22 09:00

type1のプルダウンを選択したらonclickを使用して?(ほかのイベントがありましたら教えてください)
動的にmysqlのtype1で選択した値と一致するレコードのみtype2から取得して
type2のプルダウンに動的に表示させたい

簡単に言うとtype1で選択した値によってtype2での表示する値や数を変更したいです
値はtype1,2どちらもmysqlからphp経由で取得

下記mysqlのカラム構造
イメージ説明

またプルダウンの数や表示する値は
まずPHPを使用してMysqlに登録してあるデーターを変数へ取得後

よろしくお願いいたしますm..

下記全コード

php

1 <select name="type1" id="type1"> 2 <option value="0" onClick="clickType1(type1)">選択してください</option> 3 </select> 4 5 <br> 6 7 <select name="type2" id="type2"> 8 <option value="0" >選択してください</option> 9 </select> 10 11 12 13<?php 14 15ini_set('display_errors', "On"); 16 17$stmt = $dbh->prepare('SELECT type1 FROM type WHERE id=?'); 18$stmt->bindValue(1,$id,PDO::PARAM_INT); 19$stmt->execute(); 20 21foreach($stmt as $rec){ 22 23$type1 = $rec["type1"]; 24 25$str = <<<EOM 26 27<script type="text/javascript"> 28 29var type1 = '$type1'; 30 31function addOption1() { 32 33var select = document.getElementById("type1"); 34var option = document.createElement("option"); 35option.text = type1; 36option.value = type1; 37select.appendChild(option); 38 39} 40addOption1(); 41 42 43 44 45 46function clickType1(type1) { 47$stmt = $dbh->prepare('SELECT type2 FROM type WHERE id=? AND type1=?'); 48$stmt->bindValue(1,$id,PDO::PARAM_INT); 49$stmt->bindValue(1,$type1,PDO::PARAM_STR); 50$stmt->execute(); 51 52foreach($stmt as $rec){ 53$type2 = $rec["type2"]; 54var type2 = '$type2'; 55 56function addOption2() { 57var select2 = document.getElementById("type2"); 58var option2 = document.createElement("option"); 59 60option2.text = type2; 61option2.value = type2; 62 63select2.appendChild(option2); 64} 65 66} 67} 68 69addOption2(); 70</script> 71 72EOM; 73echo $str; 74} 75 76?>

色々試してみて問題なく動いた部分のコード
<option value="0" onClick="clickType1(type1)">選択してください</option>は怪しかったです

<select name="type1" id="type1"> <option value="0" onClick="clickType1(type1)">選択してください</option> </select> <br> <select name="type2" id="type2"> <option value="0" >選択してください</option> </select> <?php ini_set('display_errors', "On"); $stmt = $dbh->prepare('SELECT * FROM type WHERE id=?'); $stmt->bindValue(1,$id,PDO::PARAM_INT); $stmt->execute(); foreach($stmt as $rec){ $type1 = $rec["type1"]; $str = <<<EOM <script type="text/javascript"> var type1 = '$type1'; function addOption1() { var select = document.getElementById("type1"); var option = document.createElement("option"); option.text = type1; option.value = type1; select.appendChild(option); } addOption1();

エラーがでてしまいどうしてもうまくいかない部分

function clickType1(type1) { $stmt = $dbh->prepare('SELECT type2 FROM type WHERE id=? AND type1=?'); $stmt->bindValue(1,$id,PDO::PARAM_INT); $stmt->bindValue(1,$type1,PDO::PARAM_STR); $stmt->execute(); foreach($stmt as $rec){ $type2 = $rec["type2"]; var type2 = '$type2'; function addOption2() { var select2 = document.getElementById("type2"); var option2 = document.createElement("option"); option2.text = type2; option2.value = type2; select2.appendChild(option2); } } } addOption2(); </script> EOM; echo $str; } ?>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問