From 470d85ae72251a1fc95fc391f1d602052118837e Mon Sep 17 00:00:00 2001 From: Yuan Chiu Date: Fri, 6 Mar 2015 22:11:23 +0800 Subject: [PATCH] List all MaterialKind & SQL: MkID varchar to 25 --- htdocs/api/v2/index.php | 19 +++++++----- htdocs/lib/Database/DBMaterial.php | 46 ++++++++++++++++++++++++++++++ sql/UElearning.sql | 10 +++---- 3 files changed, 63 insertions(+), 12 deletions(-) diff --git a/htdocs/api/v2/index.php b/htdocs/api/v2/index.php index 0eefc74..3f939bb 100644 --- a/htdocs/api/v2/index.php +++ b/htdocs/api/v2/index.php @@ -83,9 +83,13 @@ function login($user_id = null) { $user = $session->getUser($loginToken); $sessionInfo = $session->getTokenInfo($loginToken); - //取得現在時間,用字串的形式 + // 取得現在時間,用字串的形式 $nowDate = date("Y-m-d H:i:s"); + // 取得支援的教材類型 + $db_material = new Database\DBMaterial(); + $all_material_kind = $db_material->queryAllKind(); + // 輸出結果 $app->render(201,array( 'user_id' => $user_id, @@ -111,6 +115,7 @@ function login($user_id = null) { ), 'login_time' => $sessionInfo['login_date'], 'current_time' => $nowDate, + 'material_kind'=> $all_material_kind, 'error' => false, 'msg' => '\''.$user_id.'\' is logined', 'msg_cht' => '\''.$user_id.'\'使用者已登入' @@ -121,8 +126,8 @@ function login($user_id = null) { 'user_id' => $user_id, 'browser' => $browser, 'error' => true, - 'msg' => '\''.$user_id.'\' is not found', - 'msg_cht' => '找不到\''.$user_id.'\'使用者' + 'msg' => '\''.$user_id.'\' is not found', + 'msg_cht' => '找不到\''.$user_id.'\'使用者' )); } catch (Exception\UserPasswordErrException $e) { @@ -130,8 +135,8 @@ function login($user_id = null) { 'user_id' => $user_id, 'browser' => $browser, 'error' => true, - 'msg' => 'Input \''.$user_id.'\' password is wrong', - 'msg_cht' => '\''.$user_id.'\'使用者密碼錯誤', + 'msg' => 'Input \''.$user_id.'\' password is wrong', + 'msg_cht' => '\''.$user_id.'\'使用者密碼錯誤', 'substatus' => 201 )); } @@ -140,8 +145,8 @@ function login($user_id = null) { 'user_id' => $user_id, 'browser' => $browser, 'error' => true, - 'msg' => '\''.$user_id.'\' is not enable', - 'msg_cht' => '\''.$user_id.'\'帳號目前未啟用', + 'msg' => '\''.$user_id.'\' is not enable', + 'msg_cht' => '\''.$user_id.'\'帳號目前未啟用', 'substatus' => 202 )); } diff --git a/htdocs/lib/Database/DBMaterial.php b/htdocs/lib/Database/DBMaterial.php index 9d3f0a0..c53a462 100644 --- a/htdocs/lib/Database/DBMaterial.php +++ b/htdocs/lib/Database/DBMaterial.php @@ -150,4 +150,50 @@ class DBMaterial extends Database { return $this->queryMaterialByWhere("1"); } + // ======================================================================== + + /** + * 內部使用的查詢動作 + * @param string $where 查詢語法 + * @return array 查詢結果陣列 + */ + protected function queryKindByWhere($where) { + + $sqlString = "SELECT * FROM `".$this->table('MaterialKind')."` ". + "WHERE ".$where; + + $query = $this->connDB->prepare($sqlString); + $query->execute(); + + $queryResultAll = $query->fetchAll(); + // 如果有查到一筆以上 + if( count($queryResultAll) >= 1 ) { + // 製作回傳結果陣列 + $result = array(); + foreach($queryResultAll as $key => $thisResult) { + + array_push($result, + array( 'material_kind_id' => $thisResult['MkID'], + 'material_kind_name' => $thisResult['MkName'] + )); + } + return $result; + } + // 若都沒查到的話 + else { + return null; + } + } + + /** + * 查詢所有教材類別資料 + * + * @return array 教材類別資料陣列 + * + */ + public function queryAllKind() { + + return $this->queryKindByWhere("1"); + } + } diff --git a/sql/UElearning.sql b/sql/UElearning.sql index 9c4c869..3d877e1 100644 --- a/sql/UElearning.sql +++ b/sql/UElearning.sql @@ -391,7 +391,7 @@ CREATE TABLE IF NOT EXISTS `chu__Material` ( `MID` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '教材內部編號', `TID` int(10) unsigned NOT NULL COMMENT '標的內部編號', `MEntity` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否為實體教材', - `MMode` varchar(10) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'normal' COMMENT '教材模式', + `MMode` varchar(25) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'normal' COMMENT '教材模式', `MUrl` varchar(1000) COLLATE utf8_unicode_ci NOT NULL COMMENT '教材檔案路徑', PRIMARY KEY (`MID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='教材' AUTO_INCREMENT=31 ; @@ -439,7 +439,7 @@ INSERT INTO `chu__Material` (`MID`, `TID`, `MEntity`, `MMode`, `MUrl`) VALUES -- CREATE TABLE IF NOT EXISTS `chu__MaterialKind` ( - `MkID` varchar(10) COLLATE utf8_unicode_ci NOT NULL, + `MkID` varchar(25) COLLATE utf8_unicode_ci NOT NULL, `MkName` varchar(100) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`MkID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; @@ -541,7 +541,7 @@ CREATE TABLE IF NOT EXISTS `chu__StudyActivity` ( `LMode` int(2) NOT NULL DEFAULT '1' COMMENT '學習導引模式', `LModeForce` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否拒絕前往非推薦點進行學習', `EnableVirtual` tinyint(1) NOT NULL DEFAULT '0', - `MMode` varchar(10) COLLATE utf8_unicode_ci NOT NULL COMMENT '教材模式', + `MMode` varchar(25) COLLATE utf8_unicode_ci NOT NULL COMMENT '教材模式', PRIMARY KEY (`SaID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='學習活動' AUTO_INCREMENT=1 ; @@ -562,7 +562,7 @@ CREATE TABLE IF NOT EXISTS `chu__StudyWill` ( `LMode` int(2) NOT NULL DEFAULT '1' COMMENT '學習導引模式', `LModeForce` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否拒絕前往非推薦點進行學習', `EnableVirtual` tinyint(1) NOT NULL DEFAULT '0', - `MMode` varchar(10) COLLATE utf8_unicode_ci NOT NULL COMMENT '教材模式', + `MMode` varchar(25) COLLATE utf8_unicode_ci NOT NULL COMMENT '教材模式', `Lock` tinyint(1) NOT NULL DEFAULT '1' COMMENT '鎖定不讓學生更改', `BuildTime` datetime NOT NULL, `ModifyTime` datetime NOT NULL, @@ -685,7 +685,7 @@ CREATE TABLE IF NOT EXISTS `chu__User` ( `UBuildTime` datetime NOT NULL COMMENT '帳號建立時間', `UModifyTime` datetime NOT NULL COMMENT '帳號資訊修改時間', `LMode` int(2) DEFAULT NULL COMMENT '學習導引模式', - `MMode` varchar(10) COLLATE utf8_unicode_ci DEFAULT 'normal' COMMENT '教材模式', + `MMode` varchar(25) COLLATE utf8_unicode_ci DEFAULT 'normal' COMMENT '教材模式', `UEnable_NoAppoint` tinyint(1) NOT NULL DEFAULT '1' COMMENT '開放非預約學習', `UNickname` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '暱稱', `URealName` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '真實姓名',