當前位置: 首頁>>代碼示例>>PHP>>正文


PHP CDBResult::navStringForCache方法代碼示例

本文整理匯總了PHP中CDBResult::navStringForCache方法的典型用法代碼示例。如果您正苦於以下問題:PHP CDBResult::navStringForCache方法的具體用法?PHP CDBResult::navStringForCache怎麽用?PHP CDBResult::navStringForCache使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在CDBResult的用法示例。


在下文中一共展示了CDBResult::navStringForCache方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: fetch

 public function fetch($filter, $params = array())
 {
     // ����������� ������
     ksort($filter);
     foreach ($filter as &$f) {
         if (is_array($f)) {
             sort($f);
         }
     }
     // ��������� � id ���� ��� ��������� ���������
     $cacheId = serialize($filter);
     if (isset($params['count'])) {
         $cacheId .= '+cnt' . $params['count'];
     }
     if (isset($params['pageSize'])) {
         $cacheId .= '+ps' . $params['pageSize'] . '-' . CDBResult::navStringForCache($params['pageSize']);
     }
     if (isset($params['sort'])) {
         $cacheId .= '+s' . serialize($params['sort']);
     } else {
         $params['sort'] = array('id' => 'desc');
     }
     // ��������� ���
     $cache = new CPhpCache();
     if (false && $cache->initCache($this->_cacheTime, $cacheId, $this->_cacheDir)) {
         $vars = $cache->getVars();
         // ��� ����, ����� ������������ ����������� ���������, ��������� CDBResult
         $this->_dbResult = new CDBResult();
         if (isset($params['pageSize'])) {
             $this->_dbResult->InitFromArray((int) $vars['total'] > 0 ? array_fill(0, $vars['total'], 0) : array());
             if (isset($params['pageSize'])) {
                 $this->_dbResult->navStart($params['pageSize'], true, $vars['page']);
             }
         }
         return $vars['items'];
     }
     // � ���� ���
     CMOdule::includeModule('iblock');
     $filter['IBLOCK_ID'] = isset($filter['IBLOCK_ID']) ? $filter['IBLOCK_ID'] : $this->_iblockId;
     $filter['ACTIVE'] = 'Y';
     $this->_dbResult = CIBlockElement::getList($params['sort'], $filter, false, isset($params['count']) ? array('nTopCount' => $params['count']) : false, $this->_commonSelect);
     if (isset($params['pageSize'])) {
         $this->_dbResult->navStart($params['pageSize']);
     }
     $result = array();
     while ($row = $this->_dbResult->fetch()) {
         $result[$row['ID']] = $row;
     }
     if ($cache->startDataCache()) {
         $cache->endDataCache(array('items' => $result, 'total' => $this->_dbResult->NavRecordCount, 'page' => $this->_dbResult->NavPageNomer));
     }
     return $result;
 }
開發者ID:irotaev,項目名稱:vector-vip.server,代碼行數:53,代碼來源:ArticleDB.php


注:本文中的CDBResult::navStringForCache方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。