###前提・実現したいこと
PHP初心者です。
基本的な話で申し訳ないのですが、PHPでのデータ更新がうまくいきません。
取り組んでいる内容としては下記のコードでPHPを書いて、データを表示したあとに、生成したリンク先(detail.php?id=id番号)に飛んで、その先にデータ編集ページを作るというものです。
detail.php?id=id番号のページでは
HTML
1<input type="text" name="name" value="id番号のname要素(データベースのnameの要素)"> 2<input type="text" name="name" value="id番号のemail要素(データベースのemailの要素)">
としてinputタグの要素内にデータを挿入したいと思っています。
###発生している問題・エラーメッセージ
リンクごとにid番号が違うので、id番号を取得し、それごとにinputタグ内に入れる要素を切り替えたいのですが、それがうまくいきません。
###該当のソースコード
↓データを表示するソースコード
PHP
1//select.php 2 3<?php 4//DBへ接続 5$pdo = new PDO('mysql:dbname=otoiawase;host=localhost','root',''); 6//文字コードを指定 7$stmt = $pdo->query('SET NAMES utf8'); 8//データ登録SQL作成 9$stmt = $pdo->prepare("SELECT * FROM address_table"); 10 11//SQL実行 12$flag = $stmt->execute(); 13 14$view = ''; 15 16$view2 = ''; 17 18//エラー処理 19if($flag == false){ 20 $view = "SQLエラー"; 21}else{ 22 while ($result = $stmt->fetch(PDO::FETCH_ASSOC)) { 23 $view .= '<a href="detail.php?id='.$result['id'].'">'.$result['name'].','.$result['email'].'</a><br>'; 24 } 25} 26 27?> 28 29<!DOCTYPE html> 30<html lang="ja"> 31<head> 32 <meta charset="UTF-8"> 33 <title>Document</title> 34 <style> 35 .samples{ 36 color: red; 37 } 38 li{ 39 list-style-type: none; 40 text-align: left; 41 } 42 </style> 43</head> 44<body> 45 <?php echo $view;?> 46 47</body> 48</html>
↓inputタグに挿入するソースコード
PHP
1 2//途中までしかわかりません 3 4<?php 5//DBへ接続 6$pdo = new PDO('mysql:dbname=otoiawase;host=localhost','root',''); 7//文字コードを指定 8$stmt = $pdo->query('SET NAMES utf8'); 9//データ登録SQL作成 10$stmt = $pdo->prepare("SELECT * FROM address_table"); 11 12//SQL実行 13$flag = $stmt->execute(); 14 15//エラー処理 16if($flag == false){ 17 echo "SQLエラー"; 18}else{ 19 20 $result = $stmt->fetchAll(); 21 //$resultからidの配列を取り出す 22 $id = array_column($result,'id'); 23 //$resultからnameの配列を取り出す 24 $name = array_column($result,'name'); 25 //$resultからemailの配列を取り出す 26 $email = array_column($result,'email'); 27 28} 29 30?> 31 32<!DOCTYPE html> 33<html lang="ja"> 34<head> 35 <meta charset="UTF-8"> 36 <title>Document</title> 37 38 </style> 39</head> 40<body> 41 42 <form action="dataupdate.php" method="post"> 43 <!-- $name[0] のときはdetail.php?id=1 のinputタグに入れたい--> 44 <input type="text" name="name" value="<?php echo $name[0]; ?>"> 45 <!-- $email[0] のときはdetail.php?id=1 のinputタグに入れたい--> 46 <input type="text" name="email" value="<?php echo $email[0]; ?>"> 47 <input type="submit" value="更新する"> 48 </form> 49</body> 50</html>
###試したこと
上記コードのようにid番号を取得して無理矢理解決しようとしましたが無理でした。
select.phpの時点でinputタグにデータを入れておいて、SESSIONでデータを入れておくのは、あまり現実的ではないかなと思っています。
詳しい方いらっしゃいましたら教えていただければ幸いです。宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー