質問編集履歴

2

カラーブロック適応

2022/07/18 02:37

投稿

MS_tt
MS_tt

スコア22

test CHANGED
File without changes
test CHANGED
@@ -270,7 +270,7 @@
270
270
 
271
271
  ```
272
272
  コントローラー
273
- ```
273
+ ```php
274
274
 
275
275
  <?php
276
276
  require_once(ROOT_PATH .'Models/ContactModel.php');
@@ -314,7 +314,7 @@
314
314
  ```
315
315
 
316
316
  モデル
317
- ```
317
+ ```php
318
318
 
319
319
  <?php
320
320
  require_once(ROOT_PATH .'Models/Db.php');

1

コントローラー、モデル、コード追記。

2022/07/18 02:36

投稿

MS_tt
MS_tt

スコア22

test CHANGED
File without changes
test CHANGED
@@ -269,3 +269,102 @@
269
269
  };
270
270
 
271
271
  ```
272
+ コントローラー
273
+ ```
274
+
275
+ <?php
276
+ require_once(ROOT_PATH .'Models/ContactModel.php');
277
+ class ContactController {
278
+ private $request; // リクエストパラメータ(GET,POST)
279
+ private $Contact; // Playerモデル
280
+ public function __construct() {
281
+ // リクエストパラメータの取得
282
+ $this->request['get'] = $_GET;
283
+ $this->request['post'] = $_POST;
284
+
285
+ // モデルオブジェクトの生成
286
+ $this->Contact = new ContactModel();
287
+ // 別モデルと連携
288
+ $dbh = $this->Contact;
289
+ }
290
+
291
+ public function contact($data)
292
+ {
293
+ $this->Contact->contact($data);
294
+ exit();
295
+ }
296
+
297
+
298
+
299
+ public function index() {
300
+ $pageFlag = 0;
301
+ if(isset($this->request['get']['pageFlag'])) {
302
+ $pageFlag = $this->request['get']['pageFlag'];
303
+ }
304
+
305
+ $contacts = $this->Contact->findAll($pageFlag);
306
+ $params = [
307
+ 'contacts' => $contacts,
308
+ 'page' => $pageFlag // ページ番号
309
+ ];
310
+ return $params;
311
+ }
312
+ }
313
+ ?>
314
+ ```
315
+
316
+ モデル
317
+ ```
318
+
319
+ <?php
320
+ require_once(ROOT_PATH .'Models/Db.php');
321
+
322
+ class ContactModel extends Db {
323
+ public function __construct($dbh = null) {
324
+ parent::__construct($dbh);
325
+ }
326
+ public function contact($data)
327
+ {
328
+ $name = $data['name'];
329
+ $kana = $data['kana'];
330
+ $tel = $data['tel'];
331
+ $email = $data['email'];
332
+ $body = $data['body'];
333
+ $this->dbh->beginTransaction();
334
+ try {
335
+ $sql = "INSERT INTO contacts (name, kana, tel, email, body) VALUES (:name,:kana,:tel,:email,:body)";
336
+ $sth = $this->dbh->prepare($sql);
337
+ $sth -> bindValue(':name', $name);
338
+ $sth -> bindValue(':kana', $kana);
339
+ $sth -> bindValue(':tel', $tel);
340
+ $sth -> bindValue(':email', $email);
341
+ $sth -> bindValue(':body', $body);
342
+ $sth->execute();
343
+ $this->dbh->commit();
344
+ // $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
345
+ // $pdo->exec("updateeee test set name = 'aaa' where id = 1");
346
+ } catch (Exception $e) {
347
+ echo "接続失敗: " . $e->getMessage() . "\n";
348
+ // echo $e->getMessage()." - ".$e->getLine().PHP_EOL;
349
+ exit();
350
+ }
351
+ }
352
+
353
+ public function findAll($pageFlag = 0):Array {
354
+ $sql = 'SELECT';
355
+ $sql .= ' name,';
356
+ $sql .= ' kana,';
357
+ $sql .= ' tel,';
358
+ $sql .= ' email,';
359
+ $sql .= ' body';
360
+ $sql .= ' FROM contacts';
361
+
362
+
363
+ $sth = $this->dbh->prepare($sql);
364
+ $sth->execute();
365
+ $result = $sth->fetchAll(PDO::FETCH_ASSOC);
366
+ return $result;
367
+ }
368
+ }
369
+ ?>
370
+ ```