- ベストアンサー
phpl更新フォーム
入力フォームより、DBに登録した内容を更新フォームに表示したいと考えております。 テキストボックスやラジオボックスの値を、更新フォームに表示するには、どのように記述 すればよいのか教えてください。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
<input value="<?php print($row->title); ?>"> 上記でとりあえず表示できているわけですよね? それであれば、ちゃんとHTMLの特殊文字を処理して、以下のような感じでOKだと思います。 <input value="<?php print(htmlspecialchars($row->title,ENT_QUOTES)); ?>"> name属性を設定しないと無意味ですし、type属性を省略しない形の方が良いと思うのでちゃんと書くと以下のような感じでしょうか <input type="text" name="title" value="<?php print(htmlspecialchars($row->title,ENT_QUOTES)); ?>"> ラジオボタンの場合は、 <input type="radio" name="hoge" value="1" <?php if ($row->hoge == 1) {?>checked="checked"<?php } ?> /> ほげ1 <input type="radio" name="hoge" value="2" <?php if ($row->hoge == 2) {?>checked="checked"<?php } ?> /> ほげ2 <input type="radio" name="hoge" value="3" <?php if ($row->hoge == 3) {?>checked="checked"<?php } ?> /> ほげ3 こんな感じですかね。
その他の回答 (1)
- coai
- ベストアンサー率50% (152/301)
DBに接続し、SQLなどを使ってDBから値を取得する事は出来ますか? できないなら、まずはそこからです。 そもそもDBの種類は決まっていますか?DBのレコード設計はできていますか? もしまだなら、まずはそこからです。 この質問では、DBの種類も判らなければ、どんな方法で接続しているのか、どんなデータが取得できているのかも判りません。
補足
DBから値を取得し、更新フォームにて 表示できている状態です。DBはmysql使用しています。 テキストエリアは <input value="<?php print($row->title); ?>"> のように取得しています。 接続する際は、 try { $pdo = new PDO("mysql:host=localhost; dbname=kisop", "usr", "passwd"); $stmt = $pdo->prepare("SELECT * FROM book WHERE bid = :bid"); //(1) $stmt->bindValue(":bid", $_GET['bid']); //(2) $stmt->execute(); //(2) ように記述しています。