PHP头条
热点:

类似dz 分页代码


一个页面滚动栏实现的类

用法示例:


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

<?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;
 }
}
?>

 

www.phpzy.comtrue/php/9672.htmlTechArticle类似dz 分页代码 一个页面滚动栏实现的类 用法示例: ?php Class_Scroll :: _Print ( $_SERVER [ 'PHP_SELF' ], 1234 , $_GET [ 'Page' ], 10 , $_SERVER [ 'QUERY_STRING' ], Page , 9 , true ); ? ?php /** * 实现滚动栏的类 *...

相关文章

    暂无相关文章
相关频道:

PHP之友评论

今天推荐