分表分页时查询用到的limit

来源:互联网 发布:2014年进出口数据 编辑:程序博客网 时间:2024/06/07 16:15
/** * 返回这次查询要用的分页 和 下次用的分页 * $offset 第几个值开始 * $limit 要取多少个 * $pre_num 先查出当前表的个数 * return array(array(第几个,要取的个数),array(下次要从几开始取取的,要取的个数)) * 如果返回array(array( 第几个,要取的个数 ) ,array( 0 , 0 )); 表示这次取完就结束 */final public function offset_limit ( $offset , $limit , $pre_num ){    //echo  '<font color="red">'.$offset .' '.$limit.' '.$pre_num.'</font><br>';    if ( $limit == 0 ) {        return            array(                array( 0 , 0 ) ,                array( 0 , 0 )            );    }    if ( $offset === 0 ) {        if ( $pre_num > $limit ) {            return                array(                    array( 0 , $limit ) ,                    array( 0 , 0 )                );        }    }    if ( $offset == $pre_num ) {        return            array(                array( 0 , 0 ) ,                array( 0 , $limit )            );    }    if ( $pre_num < $offset ) {        return            array(                array( 0 , 0 ) ,                array( $offset - $pre_num , $limit )            );    }    $sum = $offset + $limit;    if ( $pre_num > $sum ) {        return            array(                array( $offset , $limit ) ,                array( 0 , 0 )            );    }    if ( $pre_num > $offset ) {        return            array(                array( $offset , $pre_num - $offset ) ,                array( 0 , $limit - ( $pre_num - $offset ) )            );    }}
原创粉丝点击