以前の質問
https://teratail.com/questions/110444
にて、DBを使ってコンボボックスをつくり、コンボボックスを選択した際に、レコードにある別のカラムをテキスト表示する処理において、今度は、別のカラムに「0:OFF」と「1:ON」で登録されている複数カラム内容を取得して、そのカラム毎にラジオボタンを「0:OFF」の場合「非アクティブ」、「1:ON」の場合「アクティブ」として表示させようと考えております。
コンボボックスからはJavaにて「値:value」を取得して、その値を使ってjavascriptの処理の中でphpで命令してmysqlの必要なテーブルからレコードを読み込む込み、その中よりラジオボタンに対応したカラムの状態を条件判断して、ラジオボタンを「disabled」すればいいのだとはわかっているのですが、上手くコードを書くことが出来ません。
そもそも、この考えも間違っているのかもしれません。
そのあたりも踏まえて、考え方や処理の方法やコードなどを、ご教授頂けないかと思います。
宜しくお願い致します。
【HTML】 <div class="form-group" style="height: 25px"> <label for="shelf_name" class="control-label col-sm-1" style="padding-left: 0">保管場所</label> <?php $link = mysqli_connect('localhost', 'root', '', 'db_keisoku' ); //MySQLのDBへ接続 if (!$link) { echo "データベースに接続できませんした" . PHP_EOL; } // echo "データベースに接続と選択ができました" . PHP_EOL; $query = "SELECT * FROM shfnum_tbl"; $result = mysqli_query($link, $query); if (!$result) { print ("データ取得失敗<br>"); exit(); } >>>此処で、コンボボックスでDBのレコードの棚番号カラムを選択する echo '<div class="col-sm-4">'; echo '<select name="shelfnum" class="form-control" onchange="outputSelectedValueAndText(this);">'; echo '<option value="" selected="selected">棚番号を選択してください</option>'; while ($value = mysqli_fetch_array($result, MYSQL_ASSOC)) { echo "<option value=\"" . $value["shelf_name"] . "\">" . $value["shelf_num"] . "</option>"; } echo '</select>'; echo '</div>'; // 棚のある場所を表示 echo '<div class="col-sm-5">'; echo '<input type="text" class="form-control" name="shelfName" readonly>'; echo '</div>'; mysqli_close($link); ?> </div> 【javascript】 >>>棚番号カラムから、DBよりそのカラムと同じレコードの棚段数カラム(1~8)の設定「0:OFF/ 1:ON」により、ラジオボタンをアクティブもしく非アクティブとしたい function outputSelectedValueAndText(obj) { var value = obj.options[idx].value; // 値 <?php $j_link = mysqli_connect('localhost', 'root', '', 'db_keisoku' ); //MySQLのDBへ接続 if (!$j_link) { echo "データベースに接続できませんした" . PHP_EOL; } // echo "データベースに接続と選択ができました" . PHP_EOL; $j_query = "SELECT * FROM shfnum_tbl WHERE shelf_num = $value"; $j_result = mysqli_query($j_link, $j_query); if (!$j_result) { print ("データ取得失敗<br>"); exit(); } $j_row = mysqli_fetch_array($j_result); if ($j_row["shelf_step_1"]) { echo'<input type="radio" name="shelf_num" value="1"><a style="margin-left: 5px">1段目</a>'; } else { echo'<input type="radio" name="shelf_num" value="1" disabled><a style="margin-left: 5px">1段目</a>'; } ?>
2018/2/26追加
回答1件
あなたの回答
tips
プレビュー