sql-server分页语句编写

 

/**  
* sql-server分页
* 
* @param int $page 分页页码
* @param int $rows 每页数据量数 
* @param int $totalnum  数据的总量
* @param str $sqladd  查询条件
* @return array 返回数据
*/  

public function page_list( $page, $rows, $totalnum, $sqladd = '' )

{

    $page_offset = ($page * $rows) > $totalnum ? $totalnum : ($page * $rows);
    $realpages = @ceil($totalnum / $rows);
    if ($page >= $realpages) {
      $page_left = ($totalnum % $rows);
      $rows = $page_left ? $page_left : $rows;

    }

        $list = DB::select("SELECT * FROM (
                          SELECT TOP ".$rows." * FROM (
                            SELECT TOP ".$page_offset." *
                            FROM 数据库表名
                            $sqladd
                            ORDER BY id ASC
                          ) t
                          ORDER BY id DESC
                        ) t
                        ORDER BY id ASC");
        return $list;

}

posted @ 2018-05-23 17:11  惊天伟地  阅读(126)  评论(0)    收藏  举报