分页块

<?php
//分页函数
function page($total_records,$page_size,$page_current,$url,$keyword){
 $total_pages=ceil($total_records/$page_size);//总共多少页=总共多少条记录/一页多少条
 $page_previous=($page_current<=1)?1:$page_current-1;
    $page_next=($page_current>=$total_pages)?$total_pages:$page_current+1;
    $page_next=($page_next==0)?1:$page_next;
 $page_start=($page_current-5>0)?$page_current-5:0;
 $page_end=($page_start+10<$total_pages)?$page_start+10:$total_pages;
    $page_start=$page_end-10;
 if($page_start<0) $page_start=0;
 //判断$url中是否存在查询字符串
    $parse_url=parse_url($url);
 if(empty($parse_url["query"])){
  $url=$url.‘?‘;//若不存在,在$url后添加?
 }else{
  $url=$url.‘&‘;
 }
 if(empty($keyword)){
  $navigator="<a href=".$url."page_current=$page_previous>上一页</a>";
        for($i=$page_start;$i<$page_end;$i++){
   $j=$i+1;
   $navigator.="<a href=‘".$url."page_current=$j‘>$j</a>";
  }
        $navigator.="<a href=".$url."page_current=$page_next>下一页</a>";
  $navigator.="<br/>共".$total_records."条记录,共".$total_pages."页,当前是第".$page_current."页";
 }
 else{
  $keyword=$_GET["keyword"];
  $navigator="<a href=".$url."keyword=$keyword&page_current=$page_previous>上一页</a>";
        for($i=$page_start;$i<$page_end;$i++){
   $j=$i+1;
   $navigator.="<a href=‘".$url."keyword=$keyword&page_current=$j‘>$j</a>";
  }
        $navigator.="<a href=".$url."keyword=$keyword&page_current=$page_next>下一页</a>";
  $navigator.="<br/>共".$total_records."条记录,共".$total_pages."页,当前是第".$page_current."页";
 }
 echo $navigator;

/*改进前的:
  if(empty($keyword)){
  $navigator="<a href=$url?page_current=$page_previous>上一页</a>";
        for($i=$page_start;$i<$page_end;$i++){
   $j=$i+1;
   $navigator.="<a href=‘$url?page_current=$j‘>$j</a>";
  }
        $navigator.="<a href=$url?page_current=$page_next>下一页</a>";
  $navigator.="<br/>共".$total_records."条记录,共".$total_pages."页,当前是第".$page_current."页";
 }
 else{
  $keyword=$_GET["keyword"];
  $navigator="<a href=$url?keyword=$keyword&page_current=$page_previous>上一页</a>";
        for($i=$page_start;$i<$page_end;$i++){
   $j=$i+1;
   $navigator.="<a href=‘$url?keyword=$keyword&page_current=$j‘>$j</a>";
  }
        $navigator.="<a href=$url?keyword=$keyword&page_current=$page_next>下一页</a>";
  $navigator.="<br/>共".$total_records."条记录,共".$total_pages."页,当前是第".$page_current."页";
 }
 echo $navigator;*/
}
?>

时间: 2024-08-09 05:10:01

分页块的相关文章

asp.net GridView 表格之分页显示与翻页功能及自定义翻页页码样式

一.实现分页功能  GridView实现分页只需要在属性框中将AllowPaging(是否在GridView中打开分页功能)设置为true即可 有时打开分页后不显示页码 确保AllowCustomPaging(是否打开对自定义分页的支持)为False即可 二.实现翻页功能  如何点击页码实现翻页呢? 在属性框中事件选择设置PageIndexChanging(在Grid View的当前索引页正在更改事触发)这一事件 后台代码如下 /// <summary> /// 翻页操作 /// 在GridV

GridView分页使用

GridView控件自带分页,绑定数据源控件后allowPaging即可自动实现分页.此篇为代码实现分页方法. PageLoad事件中指定允许分页和每页个数 GridView2.AllowPaging = true; GridView2.PageSize = 5; 当需要使用自己的翻页界面布局GridView提供了编辑模板使用.在模板选择的下拉框中选中PagerTemplate即可自定义布局 <asp:GridView ID="GridView2" runat="ser

Gridview 分页

当GridView中显示的记录很多的时候,可以通过GridView的分页功能来分页显示这些记录如图显示 <PagerTemplate> 当前第: <%--//((GridView)Container.NamingContainer)就是为了得到当前的控件--%> <asp:Label ID="LabelCurrentPage" runat="server" Text="<%# ((GridView)Container.N

GridView真分页全套复用代码(转)

原文地址:GridView真分页全套复用代码作者:jacland 1.页面部分: <PagerTemplate>                           <div style="display: inline; float:right;">                                   <asp:TextBox ID="txbPage" runat="server" BorderSt

20150410---GridView分页(备忘)

GridView自带分页功能,但是模板单一,试用较少数据. AllowPaging="true" PageSize="10" 启用分页设置.默认每页数量为10 添加分页触发事件: OnPageIndexChanging="GridView1_PageIndexChanging" <PagerTemplate> 当前第: <%--((GridView)Container.NamingContainer)就是为了得到当前的控件--%

ASP.NET GridView利用PagerTemplate自定义分页

前端: <asp:GridView ID="GridView1" runat="server" AllowPaging="True"> <PagerTemplate> 当前第: <%--//((GridView)Container.NamingContainer)就是为了得到当前的控件--%> <asp:Label ID="LabelCurrentPage" runat="s

Linux之进程管理(2)相关命令之二

Linux之进程管理(2)相关命令之二 进程监控工具命令使用:uptime  top  vmstat  pmap  dstat uptime  命令 uptime - Tell how long the system has been running. 显示当前已经运行的时长及cpu核心处理状态 说明:显示系统当前时间,系统运行时长,以及当前上线人数,系统平均负载(一般按1.5.10分钟的平均负载,一般不会超过1). 选项及用法: uptime  [option] -p, --pretty  :

Linux的分段和分页机制

1 基于80x86的Linux分段机制 80386的两种工作模式:80386的工作模式包括实地址模式和虚地址模式(保护模式).Linux主要工作在保护模式下. 在保护模式下,80386虚地址空间可达16K个段,每段大小可变,最大达4GB.逻辑地址到线性地址的转换由80386分段机制管理.段寄存器CS.DS.ES.SS.FS或GS各标识一个段.这些段寄存器作为段选择器,用来选择该段的描述符. 分段逻辑地址到线性地址转换图: Linux对80386的分段机制使用得很有限,因为Linux的设计目标是支

分页式存储管理方式AND请求分页式存储管理

先说下什么是页(页面):就是将用户的程序的的地址空间分成固定大小的区域,称为”页“,或者”页面“ 之后将这些页离散的放进内存中,这样解决了内存的碎片问题 记得老师上课说了下这两个概念不能混,现在区分下: 在第4章存储器管理,学习了分页式存储管理方式(是为了解决内存的碎片问题) 在第5章虚拟存储器,学习了请求分页式管理方式(除了解决碎片问题外,又“扩充”了内存的大小(虚拟)) 在这里为了使得固定数目的内存来运行较多的进程,增加了调页功能和页面置换功能. (在这可以看书或者笔记上的例题更好理解) 请