質問編集履歴

1

説明不足

2022/04/07 07:52

投稿

SAKAKi
SAKAKi

スコア0

test CHANGED
File without changes
test CHANGED
@@ -1,2 +1,183 @@
1
1
  初質問です。お世話になります!
2
2
  オブジェクト指向でクラスをつけてインスタンス化をして、投稿するものとMySQLのテーブルを表示するものとを繋げられるかと思ったのですが、「投稿する」を押してテーブルを表示するところに移動しても追加されていなくてこれで本当に正しいのか分からず困っています。間違えていたら教えていただきたいです。語彙力なくて申し訳ないです。
3
+ ファイル⓪
4
+ formタグのactionでファイル①に飛ばしました
5
+ ファイル①
6
+ <?php
7
+
8
+ require_once('dbc.php');
9
+ $blogs = $_POST;
10
+
11
+ if(empty($blogs['A'])){
12
+ exit('Aを入力してください');
13
+ }
14
+
15
+
16
+
17
+ if(empty($blogs['d'])){
18
+ exit('dを入力してください');
19
+ }
20
+
21
+
22
+
23
+ $dbc = new Dbc();
24
+ $dbc->blogCreat($blogs);
25
+ ?>
26
+
27
+ ファイル②
28
+
29
+ <?php
30
+
31
+ Class Dbc
32
+ {
33
+
34
+ function dbConnect(){
35
+
36
+ $dsn = 'ー---';
37
+
38
+ $user='ー----';
39
+
40
+ $pass='ー----';
41
+
42
+ try{
43
+ $dbh= new PDO($dsn,$user,$pass,[
44
+ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
45
+ ]);
46
+
47
+
48
+ }catch(PDOException $e){
49
+ echo'接続失敗'.$e->getMessage();
50
+ exit();
51
+ };
52
+
53
+ return $dbh;
54
+ }
55
+
56
+ function getAllBlog(){
57
+
58
+ $dbh=$this->dbConnect();
59
+
60
+ $sql='SELECT*FROM blog';
61
+
62
+ $stmt=$dbh->query($sql);
63
+
64
+ $result=$stmt->fetchall(PDO::FETCH_ASSOC);
65
+ return $result;
66
+ $dbh=null;
67
+ }
68
+
69
+
70
+
71
+ //B
72
+ function setBName($B){
73
+ if($B==='0'){
74
+ return 'b';
75
+ }elseif($B==='1'){
76
+ return 'bb';
77
+ }elseif($B==='2'){
78
+ return 'bbb';
79
+ }elseif($B==='3'){
80
+ return 'bbbb';
81
+ }elseif($B==='4'){
82
+ return ’bbbbb';
83
+ }elseif($B==='5'){
84
+ return 'bbbbbb';
85
+ }
86
+ }
87
+ //C
88
+ function setCName($C){
89
+ if($C==='0'){
90
+ return 'c';
91
+ }elseif($C==='1'){
92
+ return 'cc';
93
+ }
94
+ }
95
+
96
+
97
+
98
+ function blogCreat($blogs){
99
+ $sql ='INSERT INTO
100
+ blog(A,B,C,D)
101
+ VALUES
102
+ (:A,:B,:C,:D)';
103
+
104
+ $dbh=$this->dbConnect();
105
+
106
+ try{
107
+ $stmt=$dbh->prepare($sql);
108
+ $stmt->bindValue(':A',$blogs['A'],PDO::PARAM_STR);
109
+ $stmt->bindValue(':B',$blogs['B'],PDO::PARAM_INT);
110
+ $stmt->bindValue(':C',$blogs['C'],PDO::PARAM_INT);
111
+ $stmt->bindValue(':D',$blogs['D'],PDO::PARAM_STR);
112
+ echo'募集を開始しました!';
113
+ }catch(PDOException $e){
114
+ exit($e);
115
+
116
+ }
117
+
118
+ }
119
+
120
+ }
121
+ ?>
122
+
123
+ ファイル③ ここでMySQLを表示したいです!
124
+
125
+ <?php
126
+ require_once('dbc.php');
127
+
128
+ $dbc = new Dbc();
129
+
130
+ $blogData = $dbc->getAllBlog();
131
+
132
+ ?>
133
+
134
+ <!DOCTYPE html>
135
+ <html lang="en">
136
+ <head>
137
+ <meta charset="UTF-8">
138
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
139
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
140
+ <title>なし</title>
141
+ </head>
142
+ <body>
143
+ <h2>なし</h2>
144
+ <p><a href="ー---l">新規作成</a></p>
145
+
146
+ <table>
147
+ <table border="1">
148
+ <tr>
149
+  <th style="width:100px;">No.</th>
150
+ <th style="width:100px;">日付</th>
151
+ <th style="width:200px;">A</th>
152
+ <th style="width:120px;">B</th>
153
+ <th style="width:120px;">C</th>
154
+  <th style="width:200px;">D</th>
155
+
156
+
157
+
158
+ </tr>
159
+ <?php foreach($blogData as $column): ?>
160
+ <tr>
161
+ <td><?php echo $column['No.'] ?></td>
162
+ <td><?php echo $column['日付'] ?></td>
163
+ <td><?php echo $column['A'] ?></td>
164
+ <td><?php echo $dbc->setBName($column['B']) ?></td>
165
+ <td><?php echo $dbc->setCName($column['C']) ?></td>
166
+ <td><?php echo $column['D'] ?></td>
167
+
168
+
169
+
170
+ </tr>
171
+ <?php endforeach; ?>
172
+
173
+
174
+ </table>
175
+
176
+ </body>
177
+ </html>
178
+
179
+ お手数おかけして申し訳ございませんでした。
180
+ 誤字や脱字あるかもしれませんが、本当のコードはerrorがなく作動しています。ただ、ファイル同士が連動してないと思うので、なにか足りていなかったり間違えているところをご教示ねがいます!
181
+
182
+
183
+