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


PHP ResultSet::add方法代碼示例

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


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

示例1: query

 /**
 +----------------------------------------------------------
 * 查詢數據方法,支持動態緩存
 * 動態緩存方式為可配置,默認為文件方式
 +----------------------------------------------------------
 * @access public 
 +----------------------------------------------------------
 * @param string $sql  查詢語句
 * @param boolean $cache  是否緩存查詢
 * @param boolean $lazy  是否惰性加載
 +----------------------------------------------------------
 * @return mixed
 +----------------------------------------------------------
 * @throws ThinkExecption
 +----------------------------------------------------------
 */
 public function query($sql = '', $cache = true, $lazy = false, $lock = false)
 {
     if (!empty($sql)) {
         $this->queryStr = $sql;
     }
     if ($lock) {
         $this->queryStr .= $this->setLockMode();
     }
     if ($lazy) {
         // 延時讀取數據庫
         return $this->lazyQuery($this->queryStr);
     }
     if (C('DB_CACHE_ON') && $cache) {
         // 啟用數據庫緩存
         $guid = md5($this->queryStr);
         //獲取緩存數據
         $length = S($guid . '_count');
         if (!$length) {
             $data = S($guid);
         } else {
             $data = new ResultSet();
             for ($i = 0; $i < $length; $i++) {
                 $array = S($guid . '_' . $i);
                 foreach ($array as $key => $val) {
                     $data->add($val);
                 }
             }
         }
         if (!empty($data)) {
             return $data;
         }
     }
     // 進行查詢
     $data = $this->_query();
     if (C('DB_CACHE_ON')) {
         //如果啟用數據庫緩存則重新緩存
         $rowNums = $this->numRows;
         //總的記錄數
         if ($rowNums > C('DB_CACHE_MAX')) {
             //如果記錄數超過設置範圍,多文件緩存,
             //避免serialize超時
             $length = ceil($rowNums / C('DB_CACHE_MAX'));
             //緩存文件數
             for ($i = 0; $i < $length; $i++) {
                 //依次緩存
                 S($guid . '_' . $i, $data->range(C('DB_CACHE_MAX') * $i, C('DB_CACHE_MAX')));
             }
             //記錄緩存文件數目
             S($guid . '_count', $length);
         } else {
             //全部數據緩存
             S($guid, $data);
         }
     }
     return $data;
 }
開發者ID:BGCX262,項目名稱:zxzjob-svn-to-git,代碼行數:72,代碼來源:Db.class.php


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