首页 > php代码 > 分页代码-实现-下拉框

分页代码-实现-下拉框

<?php
/**
 * 实现滚动栏的类
 *
 * 根据页面内容,数据量,生成一个用来显示/控制的页面滚动栏.
 * <code>
 * Class_Scroll::_Print($_SERVER['PHP_SELF'],1234,$_GET['Page'],10,$_SERVER['QUERY_STRING'],"Page",9,true);
 * </code>
 *
 * @author 周贝晨 2006-7-16
 * @version 2.1
 *
 * @todo 生成一个页面内容滚动栏
 */
class Class_Scroll {
    /**
     * 输出页面滚动栏
     *
     * @param string $AScriptName 要进行滚动的页面
     * @param integer $ATotalCount 滚动信息的总数
     * @param integer $ANowPageID 当前页号
     * @param integer $AInnerCount 每页内的信息数
     * @param string $AVar 需要附带的其它变量及其值
     * @param string $APageKey 用来指定页号的变量名
     * @param integer $APageBundle 滚动栏显示的页数批示最大值
     * @param boolean $IncJump 是否显示页面跳转下拉单(默认:true)
     * @return string 页面滚动栏的HTML代码
     */
    function _Print($AScriptName, $ATotalCount, $ANowPageID, $AInnerCount, $AVar, $APageKey = "Page", $APageBundle = 9, $IncJump = true) {
        // 没有项目
        if ($ATotalCount == 0 or $ATotalCount == "") return "没有相关内容."; //"No Item Here.";
        // 计算总页数
        $PageCount = ceil($ATotalCount / $AInnerCount);
        // 检查控制当前页码值
        if ($ANowPageID < 1) $ANowPageID = 1;
        if ($ANowPageID > $PageCount) $ANowPageID = $PageCount;
        // 确定当然要显示的数码链接值
        $StartNum = ($ANowPageID - floor($APageBundle / 2)) > 0 ? ($ANowPageID - floor($APageBundle / 2)) : 1;
        $EndNum = ($PageCount - $StartNum) < $APageBundle ? $PageCount : ($StartNum + $APageBundle - 1);
        if ((($EndNum - $StartNum) < $APageBundle) && ($PageCount > $APageBundle)) $StartNum = $EndNum - $APageBundle + 1;
        // 获得变量
        if (strlen($AVar) > 0) $Vars = explode("&", $AVar);
        if (count($Vars) > 0) {
            for ($i = 0; $i < count($Vars); $i++) {
                $v = explode("=", $Vars[$i]);
                if ($v[0] != $APageKey) $VarString.= sprintf("%s=%s&", $v[0], $v[1]);
            }
        }
        // 首页链接
        $OutStringr = sprintf('<a href="%s?%s%s=%s">%s</a>%s', $AScriptName, $VarString, $APageKey, "1", "首页", "r");
        // 上一页链接
        $OutStringr.= ($ANowPageID == 1) ? " " : sprintf('<a href="%s?%s%s=%s">%s</a>%s', $AScriptName, $VarString, $APageKey, $ANowPageID - 1, "上一页", "r");
        // 中间页链接
        for ($i = $StartNum; $i <= $EndNum; $i++) $OutStringr.= ($i == $ANowPageID) ? sprintf("<span class="Currpage">%s</span>%s", $i, "r") : sprintf('<a href="%s?%s%s=%s">%s</a>%s', $AScriptName, $VarString, $APageKey, $i, $i, "r");
        // 下一页链接
        $OutStringr.= ($ANowPageID == $PageCount) ? " " : sprintf('<a href="%s?%s%s=%s">%s</a>%s', $AScriptName, $VarString, $APageKey, $ANowPageID + 1, "下一页", "r");
        // 尾页链接
        $OutStringr.= sprintf('<a href="%s?%s%s=%s">%s</a> 共%s页%s条%s', $AScriptName, $VarString, $APageKey, $PageCount, "尾页", $PageCount, $ATotalCount, "r");
        // 跳转链接
        if ($IncJump) {
            $OutStringr.= sprintf("<label>跳至(J): <select name="ScrollJump" accesskey="j" onChange="javascript:
                if (this . value != 0) document . location = '%s?%s%s=' + this . value;
                " id="ScrollJump">%s", $$AScriptName, $VarString, $APageKey, "r");
                for ($i = 1; $i <= $PageCount; $i++) {
                    $SelectedStr = ($i == $ANowPageID) ? " selected="selected"" : "";
                    $OutStringr.= sprintf("<option value=" % d"%s>第%d页</option>%s", $i, $SelectedStr, $i, "r");
                }
                $OutStringr.= "</select></label>";
            }
            // 输出
            return $OutStringr;
        }
    }


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

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

标签:none

发表留言