実現したいこと
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>
回答2件
あなたの回答
tips
プレビュー