首页 > php代码 > php 分页函数 带参数说明

php 分页函数 带参数说明

关于分页函式的使用说明:

#### 检索分页函式 ####

Int $HALT - 检索结果仅分1页时是否(1/0)显示页码条

Int $LRLIST - (页码条显示页码数-1)/2

Int $ECHOCNT - 检索时每页显示记录的数量

Int $paper - 页数,预提取:$paper=$HTTP_GET_VARS[paper];

Varchar $table - 数据表名,预附值:$table="db.table";

Varchar $where - 检索条件,预附值:$where="where field='value'";

Varchar $enwhere - 将原$where进行两次base64_encode()编码后以GET的方式提交

Varchar $splitstr - 页码条输出字串,执行函式后在相应的位置执行 echo $splitstr;

函式调用前需获取变量:

$paper=$HTTP_GET_VARS[paper];

$sumcnt=$HTTP_GET_VARS[sumcnt];

$enwhere=$HTTP_GET_VARS[enwhere];

Return (Varchar $where) - 分页后检索语句的检索条件

注意:本函式需调用出错处理函式:nerror($error);

<?php
//分页函式
function splitlist($HALT, $LRLIST, $ECHOCNT, $paper, $table, $where, $page_id, $userid) {
    global $splitstr, $sumcnt;
    if ($paper == "" || $sumcnt == "") {
        $query = "select count(*) as num from $table $where";
        $result = http: //www.phprm.com_query($query);
            $row = mysql_fetch_array($result);
            $sumcnt = $row["num"];
            if ($sumcnt == 0) {
                nerror("该版内还没有选择发布新闻!");
            }
            $paper = 1;
        }
        $sumpaper = ($sumcnt - $sumcnt % $ECHOCNT) / $ECHOCNT;
        if (($sumcnt % $ECHOCNT) != 0) $sumpaper+= 1;
        if ($sumpaper == 1 && $HALT == 0) return ($where);
        $enwhere = base64_encode(base64_encode($where));
        if (($LRLIST * 2 + 1) < $sumpaper) {
            if (($paper - $LRLIST) < 2) {
                $tract = 1;
                $sub = $LRLIST * 2 + 1;
            } else if (($paper + $LRLIST) >= $sumpaper) {
                $tract = $sumpaper - ($LRLIST * 2);
                $sub = $sumpaper;
            } else {
                $tract = $paper - $LRLIST;
                $sub = $paper + $LRLIST;
            }
        } else {
            $tract = 1;
            $sub = $sumpaper;
        }
        $uppaper = $paper - 1;
        $downpaper = $paper + 1;
        $startcnt = ($paper - 1) * $ECHOCNT;
        $where.= " limit ${startcnt},${ECHOCNT}";
        if ($tract > 1) {
            $splitstr = "【 << ";
        } else $splitstr = "【 << ";
        for ($i = $tract; $i <= $sub; $i++) {
            if ($i != $paper) $splitstr.= "" . $i . " ";
            else $splitstr.= "" . $i . " ";
        }
        if ($sub != $sumpaper) $splitstr.= ">> 】";
        else $splitstr.= ">> 】";
        return ($where);
    }


本文地址:http://www.phprm.com/code/d26a808a3d77d29a6f775e9fc1a7bc84.html

转载随意,但请附上文章地址:-)

标签:none

发表留言