【CakePHP】データベースからデータを取得する
バージョン:CakePHP 2.2.2
データベースからデータを取得し表示する方法について。
まずテスト用のデータベースを作成。今回は下記テーブルを作成しました。
▼データベース構造
CREATE TABLE Users ( id int NOT NULL AUTO_INCREMENT, name varchar(50), memo varchar(50), PRIMARY KEY (id) );
▼サンプルデータ
INSERT INTO Users (id, name, memo) VALUES ('', '太郎', 'メモ1'); INSERT INTO Users (id, name, memo) VALUES ('', '次郎', 'メモ2'); INSERT INTO Users (id, name, memo) VALUES ('', '三郎', '');
▼ここからCakePHPの実装
・User.php
<?php class User extends AppModel { public $name = "User"; }
・UsersController.php
<?php class UsersController extends AppController { function beforeFilter(){ parent::beforeFilter(); } function index(){ $results = $this->User->find('all'); $this->set('results',$results); } }
・Users/index.ctp
<!DOCTYPE html> <html lang="ja"> <head> </head> <body> <?php foreach ($results as $data):?> <table> <tr> <td> <?php echo $data["User"]["id"];?> </td> <td> <?php echo $data["User"]["name"];?> </td> <td> <?php echo $data["User"]["memo"];?> </td> </tr> </table> <?php endforeach;?> </body> </html>
▼表示結果(HTML)
<!DOCTYPE html> <html lang="ja"> <head> </head> <body> <table> <tr> <td> 1 </td> <td> 太郎 </td> <td> メモ1 </td> </tr> </table> <table> <tr> <td> 2 </td> <td> 次郎 </td> <td> メモ2 </td> </tr> </table> <table> <tr> <td> 3 </td> <td> 三郎 </td> <td> </td> </tr> </table> </body> </html>