封装一个分页函数

<?php

 /**
  * 分页链接生成函数
  * @param int $page 当前访问的页码
  * @param int $total_page 总页数
  * @return string 拼接好的url地址
  */
function showPage($page,$total_page){ 	

	//拼接“首页”链接
	$html = ‘<a href="?page=1">【首页】</a>‘; 

	//拼接“上一页”链接
	$pre_page = $page-1 <= 0 ? $page : ($page-1);
	$html .= ‘<a href="?page=‘.$pre_page.‘">【上一页】</a>‘; 

	//拼接“下一页”链接
	$next_page = $page+1 > $total_page ? $page : ($page+1);
	$html .= ‘<a href="?page=‘.$next_page.‘">【下一页】</a>‘; 

	//拼接“尾页”链接
	$html .= ‘<a href="?page=‘.$total_page.‘">【尾页】</a>‘;

	//返回拼接后的分页链接
	return $html; 
}
//总记录数
$total_num = count($info);
//每页显示的条数
$perpage = 4;

//获取当前页
$page = isset($_GET[‘page‘]) ? (int)$_GET[‘page‘] : 1;
//获取总页数
$total_page = ceil($total_num/$perpage); 

//对获取的当前页进行合理性判断
//1、判断当前页是否小于1
$page = max($page,1);
//2、判断当前页码数是否大于总页数
$page = min($page,$total_page);

//获取遍历数组时,每页开始的数组坐标值
$start_index = $perpage * ($page-1);
//获取遍历数组时,每页最大的数组坐标值
$end_index = $perpage * $page-1;
//防止计算结果超过最大记录数
$end_index = min($end_index,$total_num-1);
?>
时间: 2024-11-03 20:49:09

封装一个分页函数的相关文章

自己封装一个readline函数实现服务器客户端回射

实现的功能:一次只能读取一行,客户端输入之后,一回车,马上字符串传到服务器端并显示在终端,然后服务器端将字符串又传回给客户端. 服务器端可以接收多个客户端的连接请求,并fork一个子进程来进行服务. (1)封装一个只能访问套接字描述符的readline函数 (2)服务器端启动SO_REUSEADDR套接字选项,以便服务器端不必等待TIME_WAIT状态 这是服务器端代码: 1 #include<unistd.h> 2 #include<sys/types.h> 3 #include

封装一个运动函数

1 //支持 缓冲 + 多物体 + 链式 + 完美 2 //obj:运动的对象 3 //json:存储多个attr和target 4 //callback :回调函数 代表一个功能 当一个函数作为参数时,这样的函数叫做回调函数 5 function startMove(obj,json,callback){ 6 clearInterval( obj.timer );//在运动之前先清空定时器 7 obj.timer = setInterval( function(){ 8 var flag =

js 封装一个动画函数

//动画函数---任意一个元素移动到指定的目标位置 //element为元素 target为位置 function carToon(element, target) { //设置一个定时器让他循环去增加 element.timeid = setInterval(function () { //拿到当前的位置(纯数字) var current = element.offsetLeft; //每次要移动的像素current var step = 10; //注意 这里是判断到底往那边走 如果当前的位

自己封装一个MySignal函数,方便以后直接copy.

传统的signal可能会有信号未决或者信号重入或多或少的问题,毕竟这个函数已经很多年了. 所以推荐使用sigaction函数,但是sigaction函数相对signal较为复杂,而且每次要写一大堆.因此对于习惯使用signal这种简单方便的函数我们不妨自己包一下sigaction! int MySigaction(int signo, void (*func)(int)) { struct sigaction act, oact; act.sa_handler = func; sigemptys

分页函数

之前在用thinkphp做项目的时候,感觉他的分页函数用着不习惯,自己琢磨着写了一个分页函数,放到这里来,用到的时候可以直接照搬.   public function pagination($count,$page,$limit,$show_page=5){           //总页码 = 总数据量/每一页的数据量 $pagesize           $pagesize = ceil( $count/$limit);           //获取当前页码 $page           

使用amaze ui的分页样式封装一个通用的JS分页控件

作为一名码农,天天百度.偶尔谷歌,所有代码全靠copy,用第三方插件,偶尔也想着造造轮子,毕竟自己的骨肉总归比较亲. 今天有点空闲时间,想起我们公司之前套的页面的分页插件上还有bug,而写那个分页插件的小伙子已经离职,就决定自己来写一个. 首先,肯定是用我们的妹子UI做样式效果,毕竟开发妹子少,做的东西能和妹子沾点边,就沾一点,毕竟妹子比较好看. 然后 开始吧 第一步 找到妹子UI的分页HTML代码,一共有2种,我喜欢第一种,比较有颜 这是妹子UI的分页代码 <ul data-am-widget

封装一个Ajax工具函数

/*封装一个ajax工具函数*/ window.$ = {}; /*通过$定义一个ajax函数*/ /* * 1. type   string   请求的方式  默认是get * 2. url    string   请求地址  接口地址 * 3. async  boolean  默认的是true * 4. data   object   {}请求数据 * * 5.success function  成功回调函数 * 6.error   function  失败的回调函数 * */ $.ajax

数组的方法(连接,截取,删除,插入,替换,以及封装一个函数)

连接两个数组:concat,形成一个新数组 数组1.concat(数组2,数组1) 返回值:数组 var arr1=[1,2], arr2=[3,4], arr3; arr3=arr1.concat(arr2,arr1); console.log(arr3); 另外方法,截取<是来是>__.slice(start,end) ___.slice(start,end)功能:从已有的数组中返回选定的元素 参数 如果参数有一个是负数,则用数组长度加上该数来确定相应的位置 start(必须)规定从何处开

封装一个通过类名获取对象的函数

由于HTML DOM 的getElementsByClassName()不兼容ie9以下浏览器,所以需要封装一个通过类名获取对象的函数getElementsByClass().参数class是要获取的class类名,parent是其父级的id,确定范围用的,可选.