From 55f10909b43f50fac4f8a5009573a63d6ee7b2da Mon Sep 17 00:00:00 2001 From: Yuan Chiu Date: Thu, 9 Apr 2020 22:02:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=B7=E6=9C=89=E5=88=86=E9=A0=81=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E7=9A=84getList?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- htdocs/lib/Database/DbMessage.php | 47 +++++++++++++++++++++++++------ 1 file changed, 39 insertions(+), 8 deletions(-) diff --git a/htdocs/lib/Database/DbMessage.php b/htdocs/lib/Database/DbMessage.php index 4186ed8..2c1b9ab 100644 --- a/htdocs/lib/Database/DbMessage.php +++ b/htdocs/lib/Database/DbMessage.php @@ -2,6 +2,8 @@ namespace MessageBoard\Database; +use PDO; + require_once FOLDER_ROOT.'/lib/Database/Database.php'; class DbMessage extends Database @@ -10,21 +12,44 @@ class DbMessage extends Database /** * 取得列表 * - * @param integer $limit 第幾筆開始 + * @param integer $page 第幾筆開始 * @param integer $count 此查詢要列出幾筆 - * @return void + * @return array */ - public function getList(int $limit=null, int $count=null) + public function getList(int $page=null, int $count=null) { - $sqlString = "SELECT * FROM `".$this->table('message')."`"; - $query = $this->connDB->prepare($sqlString); - $query->execute(); + $sqlString = "SELECT id,title,content,updated_at,created_at FROM `".$this->table('message')."`"; + + // 設定分頁功能 + if(!empty($page) && !empty($count)) { + $sqlString .= ' LIMIT :offset ,:length'; + $query = $this->connDB->prepare($sqlString); + + $offset = ($page-1) * $count; + $query->bindParam(":offset", $offset, PDO::PARAM_INT); + $query->bindParam(":length", $count, PDO::PARAM_INT); + $query->execute(); + } + else { + $query = $this->connDB->prepare($sqlString); + $query->execute(); + } $queryResultAll = $query->fetchAll(); - return $queryResultAll; } + /** + * 取得所有資料的筆數 + * + * @return int + */ + public function getCount() + { + $sqlString = "SELECT count(*) FROM `".$this->table('message')."`"; + return (int)($this->connDB->query($sqlString))->fetch()[0]; + } + /** * 取得單筆資料 * @@ -33,7 +58,7 @@ class DbMessage extends Database */ public function getDataByid($id) { - $sqlString = "SELECT * FROM `".$this->table('message')."` WHERE id = :id"; + $sqlString = "SELECT id,title,content,updated_at,created_at FROM `".$this->table('message')."` WHERE id = :id"; $query = $this->connDB->prepare($sqlString); $query->bindParam(":id", $id); @@ -83,6 +108,12 @@ class DbMessage extends Database return $query->rowCount(); } + /** + * 移除 + * + * @param int $id 編號 + * @return int 是否有成功 + */ public function delete($id) { $sqlString = "DELETE FROM `".$this->table('message')."` WHERE id= :id";