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

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

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

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

PHP

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

JavaScript

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

HTML

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

Q&A

解決済

2回答

479閲覧

select optionにデーターベースの値を表示

tst

総合スコア5

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

PHP

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

JavaScript

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

HTML

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

0グッド

0クリップ

投稿2023/03/29 05:51

実現したいこと

select optionにデーターベースの値を表示

前提

プログラミング初心者です。
基本的にネットの情報を切り貼りしながら、社内の情報共有サイトを作成しています。
情報一覧ページの特定の情報を更新する際にフォームを使用して情報を更新しようとしています。
フォームにはあらかじめ登録されていた情報を記載しておいてそこから情報の上書きをしていきたいと思っています。

発生している問題・エラーメッセージ

フォームのselect optionタグにあらかじめ登録されていた情報が表示されず、ブランクとして表示される

該当のソースコード

情報一覧ページ <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>情報一覧</title> </head> <body> <div class="container-header"> <h1>≪一覧≫</h1> <a href="h_new.php" target="_blank" class="new-button">+ 新規作成</a> </div> <div class="container-main"> <?php $user = '***'; $password = '***'; $dbName = "***"; $host = "***"; try { $dsn = "mysql:host={$host};dbname={$dbName};charser=utf8"; $pdo = new PDO($dsn, $user, $password); $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = "SELECT * from h_table WHERE h_display='表示' ORDER BY h_posted_at DESC"; $stm = $pdo->prepare($sql); $stm->execute(); $result = $stm->fetchAll(PDO::FETCH_ASSOC); $stm = null; } catch (PDOException $e) { print $e->getMessage() . "<br/gt;"; die(); } ?> <table> <thead> <tr> <th class="th-h_id">ID</th> <th class="th-h_category">分類</th> <th class="th-h_contents">内容</th> <th class="th-h_posted_at">更新日時</th> <th class="th-h_edit">編集</th> </tr> </thead> <tbody> <?php foreach ($result as $row){ ?> <?php print "<tr>"; ?> <?php print "<td>".$row['h_id']."</td>"; ?> <?php print "<td>".$row['h_category']."</td>"; ?> <?php print nl2br("<td class=\"h_contents\">".$row['h_contents']."</td>"); ?> <?php print "<td>".$row['h_posted_at']."</td>"; ?> <?php print "<td>" ?> <a href="h_edit_update.php?h_id=<?php print $row['h_id']; ?>">更新</a>              ↑ここのリンクからフォームに移行してからのことを教えていただきたいです。 <a href="h_edit_hidden.php?h_id=<?php print $row['h_id']; ?>">非表示</a> <?php "</td>" ?> <?php print "</tr>"; ?> <?php } ?> </tbody> </table> </div> </div> </body> </html>
フォーム <?php if (isset($_GET['h_id'])) { try { // 接続処理 $dsn = 'mysql:host=***;dbname=***'; $user = '***'; $password = '***'; $dbh = new PDO($dsn, $user, $password); // SELECT文を発行 $sql = "SELECT * FROM h_table WHERE h_id = :h_id"; $stmt = $dbh->prepare($sql); $stmt->bindValue(':h_id', $_GET['h_id'], PDO::PARAM_INT); $stmt->execute(); $h_table = $stmt->fetch(PDO::FETCH_OBJ); // 1件のレコードを取得 // 接続切断 $dbh = null; } catch (PDOException $e) { print $e->getMessage() . "<br/>"; die(); } } ?> <form action="h_edit_update_send.php" method="post"> <div class="new-container"> <p class="new-container-header">≪引継ぎ更新≫</p> <div class="new-category"> <input type="hidden" name="h_id" value="<?php print($h_table->h_id);?>"> <p>分類:</p> <p><select name="h_category"> <option value="<?php print ($h_table->h_category);?>"></option>        ↑ここの部分をプルダウンメニューの初期値として表示したいです。 <option>a</option> <option>b</option> <option>c</option> </select></p> </div> <div class="new-contents"> <label>内容: <p> <textarea name="h_contents" value="<?php print($h_table->h_contents) ?>"></textarea> </p> </label> </div> <div class="new-display"> <p>表示:</p> <p><select name="h_display" value="<?php print($h_display->h_id) ?>"> <option selected>表示</option> <option>非表示</option> </select> </p> </div> <p class="new-submit"> <input type="submit" value="更新"> </p> <p class="close_btn"> <input type="button" onclick="location.href='h_index.php'" value="キャンセル"> </p> </form>

イメージ説明

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

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

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

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

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

jimbe

2023/03/29 06:35

この質問と java はどう関係するのでしょうか。
tst

2023/03/29 06:39

当方が全くの初心者でどのようなアプローチでこの問題を解決できるのかがわからないため、幅広い方から知見を得られるようにタグ付けした次第です。
jimbe

2023/03/29 07:38

仰りたいことは何となくわかりますが、質問本文に java が一言も出てこないのにタグだけがあっても、どう関係するのかも分からないのに知見も何もありません。
guest

回答2

0

処理的にはリストを予め用意しておいて設定したい値を調整してください

PHP

1<?PHP 2$selected["h_category"]=["a"=>"","b"=>"","c"=>""]; 3$selected["h_category"][$h_table->h_category]=" selected"; 4?> 5<select name="h_category"> 6<option value="">---</option> 7<option vallue="a"<?=$selected["h_category"]["a"]?>>a</option> 8<option vallue="b"<?=$selected["h_category"]["b"]?>>b</option> 9<option vallue="c"<?=$selected["h_category"]["c"]?>>c</option> 10</select>```

投稿2023/03/29 06:56

yambejp

総合スコア114784

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

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

tst

2023/03/29 07:18

回答ありがとうございます。 お答えいただいたもので希望する挙動が確認できました。ありがとうございます。 以前の質問にも迅速にお答えいただき助かっております。 勉強してはいきますが、今後ともよろしくお願いいたします。
guest

0

自己解決

元コード <option value="<?php print ($h_table->h_category);?>"></option>
修正後コード <option value="<?php echo $h_table->h_category; ?>"><?php echo $h_table->h_category; ?></option>

これで一応希望していた挙動は実現できましたので一先ず自己解決とさせていただきます。

投稿2023/03/29 06:56

tst

総合スコア5

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

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

yambejp

2023/03/29 06:59

空のoptionのvalueにデフォルトを当てるというのはセレクトボックス的にどうなんでしょう? 全リストを表示して合致するものが選ばれている方がよいのでは?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問