【CakePHP】データベースからデータを取得する

2019年7月29日

バージョン: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>

スポンサーリンク