public function getMultiLength($multiSqlStmt, $fieldsName) { \System\database\MultiBaseTable::setMultiSqlStmt($multiSqlStmt); $length = \System\database\MultiBaseTable::getMultiListLength($fieldsName); if (\System\Entrance::config('IS_DB_DEBUG') == true) { sqlDebugLog(\System\database\MultiBaseTable::$lastSql, \System\database\MultiBaseTable::$error); } return $length; }
/** * 用于获取单页列表数据 * @param pageInfo $pageInfo 页面类,控制页面输出 * @param object $dataClass 获取数据的Data类 * @param string $listFunc 用于获取列表的Data类的函数名称 * @param string $lengFunc 用于获取总行数的Data类的函数名称 * @param array $params 函数参数数组($conn除外且默认为第一个参数),默认为空 * @param array $isHelper 判断$dataClass是否Helper类 * @return false|array 返回数据列表,失败返回false */ protected function getOnePageData(&$pageInfo, &$dataClass, $listFunc, $lengFunc = null, array $params = null, $isHelper = false) { $pageInfo->psize = isset($_REQUEST["psize"]) ? $_REQUEST["psize"] : 15; $rt = false; if (null == $lengFunc) { $lengFunc = $listFunc . "Length"; } $pn = isset($_REQUEST["pn"]) ? $_REQUEST["pn"] : 1; if (!$pn) { $pn = "1"; } $pageInfo->num = intval($pn); $pageInfo->dataSize = call_user_func_array([$dataClass, $lengFunc], (array) $params); if ($pageInfo->dataSize > 0) { $begin = ($pageInfo->num - 1) * $pageInfo->psize; //从第N笔开始检索 if ($isHelper) { \System\database\MultiBaseTable::setMultiSqlStmt(["begin" => $begin, "size" => $pageInfo->psize]); } else { $dataClass->setSqlStmt(["begin" => $begin, "size" => $pageInfo->psize]); } $rt = call_user_func_array([$dataClass, $listFunc], (array) $params); if (!$rt) { $this->error = "无法获取数据"; } } else { $this->error = "没有数据"; } return $rt; }