コード例 #1
0
ファイル: page.php プロジェクト: PotsonHumer/OGS_V2
 public static function handle($select, $sql, $rsnum)
 {
     if (empty(self::$num)) {
         self::$num = CORE::$cfg["item_num"];
     }
     if (!empty($rsnum) && $rsnum > self::$num) {
         $offset = 0;
         list($offset, $oldNum) = explode(',', $select['limit']);
         self::$all = ceil($rsnum / self::$num);
         # 總頁數
         if (empty(self::$now)) {
             self::$now = 1;
         }
         if (self::$now < 0 || self::$now > self::$all) {
             self::$now = 1;
         }
         self::$start = $limit_start = self::$num * self::$now - self::$num + $offset;
         # limit 開始資料列數
         $new_limit = $limit_start . "," . self::$num;
         # limit 組合完成
         $select['limit'] = $new_limit;
         $sql_page = DB::select($select);
         $page = array($sql_page, DB::num($sql_page));
         self::row();
     } else {
         self::$now = 1;
         $page = array($sql, $rsnum);
     }
     SESS::write('PAGE', self::$now);
     return $page;
 }
コード例 #2
0
ファイル: crud.php プロジェクト: PotsonHumer/OGS_V2
 public static function dataFetch($tb_name, $sk = false, $fetch = false, $sort = false, $limit = false, $page = false)
 {
     list($sql, $rsnum, $select) = self::dataNum($tb_name, $sk, $fetch, $sort, $limit, true);
     if ($page) {
         if (is_numeric($page) && $page > 0) {
             PAGE::$num = $page;
         }
         list($sql, $rsnum) = PAGE::handle($select, $sql, $rsnum);
     }
     switch ($rsnum) {
         case 0:
             break;
         case 1:
             self::$data[0] = self::content_handle(DB::fetch($sql), true);
             break;
         default:
             while ($row = DB::fetch($sql)) {
                 $all_row[] = self::content_handle($row, true);
             }
             self::$data = $all_row;
             break;
     }
     return $rsnum;
 }