回答編集履歴

2

加筆修正

2021/05/09 03:54

投稿

退会済みユーザー
test CHANGED
@@ -62,6 +62,8 @@
62
62
 
63
63
  // createdの更新処理
64
64
 
65
+ var_dump($_POST['name']);
66
+
65
67
  if (isset($_POST['name'])) {
66
68
 
67
69
  $stmt = $db->prepare('UPDATE members SET created = NOW() WHERE name = :name ');
@@ -120,7 +122,7 @@
120
122
 
121
123
  <td><?php echo($row['created']); ?></td>
122
124
 
123
- <td><form method="post" action=""><input type="hidden" name="name" value="<? echo $row['name'] ?>"><input type="submit" name="<?php echo($row['name']); ?>" value="時間更新"></form></td>
125
+ <td><form method="post" action=""><input type="hidden" name="name" value="<? echo $row['name']; ?>"><input type="submit" name="submit" value="時間更新"></form></td>
124
126
 
125
127
  </tr>
126
128
 

1

加筆修正

2021/05/09 03:53

投稿

退会済みユーザー
test CHANGED
@@ -35,3 +35,103 @@
35
35
  変数名のダブりを解消したらとりあえず動くかもしれないけど、
36
36
 
37
37
  わかりにくい構造自体がデバッグしづらくしているのでお勧めできません。
38
+
39
+
40
+
41
+ 最小限、書き直してみました。
42
+
43
+ 表全体をフォームにしないで、一行ごとに細かくフォームにしました。
44
+
45
+ 更新するべき対象のnameを与えるために、hiddenにてnameパラメータを送信するようにしました。
46
+
47
+ nameパラメータを頼って更新するように処理を改めました。
48
+
49
+ (あくまで机上のコードで実行していませんので、バグなどありましたらすみません。)
50
+
51
+
52
+
53
+ ```php
54
+
55
+ <?php
56
+
57
+ session_start();
58
+
59
+ require('dbconnect.php');
60
+
61
+
62
+
63
+ // createdの更新処理
64
+
65
+ if (isset($_POST['name'])) {
66
+
67
+ $stmt = $db->prepare('UPDATE members SET created = NOW() WHERE name = :name ');
68
+
69
+ $stmt->execute(array(':name' => $_POST['name']));
70
+
71
+ }
72
+
73
+
74
+
75
+ $row_count = [];
76
+
77
+ $sql = "SELECT * FROM members ORDER BY name";
78
+
79
+ $stmt = $db->query($sql);
80
+
81
+
82
+
83
+ ?>
84
+
85
+ <!DOCTYPE html>
86
+
87
+ <html lang="ja">
88
+
89
+ <head>
90
+
91
+ <meta charset="UTF-8">
92
+
93
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
94
+
95
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
96
+
97
+ <link rel="stylesheet" href="profile.css">
98
+
99
+ <title>Document</title>
100
+
101
+ </head>
102
+
103
+ <body>
104
+
105
+ <table border="1">
106
+
107
+ <tr>
108
+
109
+ <th>名前</th>
110
+
111
+ <th>取引終了時間</th>
112
+
113
+ </tr>
114
+
115
+ <?php foreach($stmt as $row): ?>
116
+
117
+ <tr>
118
+
119
+ <td><?php echo($row['name']); ?></td>
120
+
121
+ <td><?php echo($row['created']); ?></td>
122
+
123
+ <td><form method="post" action=""><input type="hidden" name="name" value="<? echo $row['name'] ?>"><input type="submit" name="<?php echo($row['name']); ?>" value="時間更新"></form></td>
124
+
125
+ </tr>
126
+
127
+ <?php endforeach; ?>
128
+
129
+ <table>
130
+
131
+ <h1><a href="index.php">入力画面</a></h1>
132
+
133
+ </body>
134
+
135
+ </html>
136
+
137
+ ```