예제 #1
0
 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;
 }
예제 #2
0
 /**
  * 用于获取单页列表数据
  * @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;
 }