当前位置:Gxlcms > PHP教程 > 类似dz分页代码_PHP教程

类似dz分页代码_PHP教程

时间:2021-07-01 10:21:17 帮助过:2人阅读

一个页面滚动栏实现的类

用法示例:


Class_Scroll::_Print($_SERVER['PHP_SELF'],1234,$_GET['Page'],10,$_SERVER['QUERY_STRING'],"Page",9,true);
?>

/**
* 实现滚动栏的类
*
* 根据页面内容,数据量,生成一个用来显示/控制的页面滚动栏.
*
* Class_Scroll::_Print($_SERVER['PHP_SELF'],1234,$_GET['Page'],10,$_SERVER['QUERY_STRING'],"Page",9,true);
*

*
* @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 $v = explode("=",$Vars[$i]);
if($v[0]!=$APageKey) $VarString.=sprintf("%s=%s&",$v[0],$v[1]);
}
}
// 首页链接
$OutStringr = sprintf('%s%s',$AScriptName,$VarString,$APageKey,"1","首页","r");
// 上一页链接
$OutStringr .= ($ANowPageID==1) ? " " : sprintf('%s%s',$AScriptName,$VarString,$APageKey,$ANowPageID-1,"上一页","r");
// 中间页链接
for($i = $StartNum; $i <= $EndNum; $i++)
$OutStringr .= ($i==$ANowPageID) ? sprintf("%s%s",$i,"r") : sprintf('%s%s',$AScriptName,$VarString,$APageKey,$i,$i,"r");
// 下一页链接
$OutStringr .= ($ANowPageID==$PageCount) ? " " : sprintf('%s%s',$AScriptName,$VarString,$APageKey,$ANowPageID+1,"下一页","r");
// 尾页链接
$OutStringr .= sprintf('%s 共%s页%s条%s',$AScriptName,$VarString,$APageKey,$PageCount,"尾页",$PageCount,$ATotalCount,"r");
// 跳转链接
if ($IncJump){
$OutStringr .= sprintf("";
}
// 输出
return $OutStringr;
}
}
?>


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/445082.htmlTechArticle一个页面滚动栏实现的类 用法示例: ?php Class_Scroll :: _Print ( $_SERVER [ 'PHP_SELF' ], 1234 , $_GET [ 'Page' ], 10 , $_SERVER [ 'QUERY_STRING' ], Page , 9 , true );...

人气教程排行