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 '
| |
';
- 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