From 8062ecbc3e71f9623069fcbcb0a0ba3a19af9301 Mon Sep 17 00:00:00 2001 From: DiscuzX <153619335@qq.com> Date: Tue, 27 Jul 2021 07:07:39 +0000 Subject: [PATCH] =?UTF-8?q?=E5=8B=8B=E7=AB=A0=E7=AE=A1=E7=90=86=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E5=88=86=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- upload/source/admincp/admincp_medals.php | 8 ++++++-- upload/source/class/table/table_forum_medal.php | 9 +++++---- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/upload/source/admincp/admincp_medals.php b/upload/source/admincp/admincp_medals.php index d17e68d08..619c5ce90 100644 --- a/upload/source/admincp/admincp_medals.php +++ b/upload/source/admincp/admincp_medals.php @@ -45,7 +45,11 @@ if(!$operation) { ]; fetch_all_data() as $medal) { + $perpage = 50; + $start = ($_G['page'] - 1) * $perpage; + $count = C::t('forum_medal')->count_by_available(false); + $multi = multi($count, $perpage, $page, ADMINSCRIPT."?action=medals"); + foreach(C::t('forum_medal')->fetch_all_data(false, $start, $perpage) as $medal) { $checkavailable = $medal['available'] ? 'checked' : ''; switch($medal['type']) { case 0: @@ -71,7 +75,7 @@ if(!$operation) { } echo '
'.$lang['medals_addnew'].'
'; - showsubmit('medalsubmit', 'submit', 'del'); + showsubmit('medalsubmit', 'submit', 'del', '', $multi); showtablefooter(); showformfooter(); diff --git a/upload/source/class/table/table_forum_medal.php b/upload/source/class/table/table_forum_medal.php index e065d071e..1c569cb5d 100644 --- a/upload/source/class/table/table_forum_medal.php +++ b/upload/source/class/table/table_forum_medal.php @@ -21,9 +21,9 @@ class table_forum_medal extends discuz_table parent::__construct(); } - public function fetch_all_data($available = false) { + public function fetch_all_data($available = false, $start = 0, $limit = 0) { $available = $available !== false ? ' WHERE available='.intval($available) : ''; - return DB::fetch_all('SELECT * FROM %t %i ORDER BY displayorder', array($this->_table, $available)); + return DB::fetch_all('SELECT * FROM %t %i ORDER BY displayorder'.DB::limit($start, $limit), array($this->_table, $available)); } public function fetch_all_name_by_available($available = 1) { $data = array(); @@ -33,8 +33,9 @@ class table_forum_medal extends discuz_table return $data; } - public function count_by_available() { - return DB::result_first('SELECT COUNT(*) FROM %t WHERE available=1', array($this->_table)); + public function count_by_available($available = 1) { + $available = $available !== false ? ' WHERE available='.intval($available) : ''; + return DB::result_first('SELECT COUNT(*) FROM %t %i', array($this->_table, $available)); } -- Gitee