你们把PHP分页的课删了?只剩下ajax的?
//获取 分页URL
/**
* @return string
*/
function getUrl()
{
//判断是http还是https
$url = '';
//8080是http 443是HTTPS的
$url .= $_SERVER['SERVER_PORT'] == 443 ? 'https://' : 'http://';
//得到域名
$url .= $_SERVER['HTTP_HOST'];
//得到?之后的
$url .= $_SERVER['REQUEST_URI'];
return $url;
}
/**
* 根据page生成URL
* @param $page
* @param string $url
* @return bool|string
*/
function pageUrl($page, $url = '')
{
$url = empty($url) ? getUrl() : $url;
//查询URL是否存在"? "
//参数2在字符串中是否出现,返回第一次的位置,未出现则返回FALSE
$pos = strpos($url, '?');
//如果URL没有?存在
if ($pos === false) {
$url .= '?page=' . $page;
} else {
//substr 从$pos 的位置开始截取字符串$url 到字符串结束
$queryString = substr($url, $pos + 1);
//解析$queryString成为数组
parse_str($queryString, $queryArr);
//判断该数组是否有page元素
if (isset($queryArr['page'])) {
//有则删除
unset($queryArr['page']);
}
//为$queryArr重新赋值
$queryArr['page'] = $page;
//将$queryArr重新封装成字符串
$queryStr = http_build_query($queryArr);
//连接成新的url
//先得到?之前的路径,注意这里不会截取到$pos本身
$url = substr($url, 0, $pos);
$url .= '?' . $queryStr;
}
return $url;
}
//分页函数
/**
* 分页显示
* @param int $total 数据总数
* @param int $currentPage 当前页
* @param int $pageSize 每页显示条数
* @param int $show 显示的按钮数量
* @return string
*/
function pages($total, $currentPage, $pageSize, $show = 6)
{
$pageStr = '';
//当数据库总共多少条信息$total = 每页显示几条数$pageSize;那么就不必做分页处理
if ($total > $pageSize) {
//得出总页数
$totalPage = ceil($total / $pageSize);//向上取整获取总页数
//对待当前页进行容错处理
$currentPage = $currentPage > $totalPage ? $totalPage : $currentPage;
//分页起始页
//但是如果起始页出现负值则需要容错处理
$from = max(1, $currentPage - intval($show / 2));
//分页结束页(减一是因为起始页$from 已经显示了不应该计算在内)
$to = $from + $show - 1;
//当结束页大于总页则需要换一种思路:之前是从左算到右,这种情况应该从右->左
if ($to > $totalPage) {
$to = $totalPage;
//加一是因为,如一共10页 要显示6页$from=10-6=4,但算上第四页到第10页
//之间差了7页而非6页,所以应该加上1;
$from = max(1, $to - $show + 1);
}
$pageStr .= '<div class = "page-nav">';
$pageStr .= '<ul>';
//如果$currentPage > 1 显示 首页与上一页
if ($currentPage > 1) {
$pageStr .= "<li><a href='" . pageUrl(1) . "'>首页</a></li>";
$pageStr .= "<li><a href='" . pageUrl($currentPage - 1) . "'>上一页</a></li>";
}
//当起始页大于1则显示,...
if ($from > 1) {
$pageStr .= '<li>...</li>';
}
//循环中间显示的页码
for ($i = $from; $i <= $to; $i++) {
//还需要考虑样式
if ($i != $currentPage) {
$pageStr .= "<li><a href='" . pageUrl($i) . "'>{$i}</a></li>";
} else {
$pageStr .= "<li><span class='curr-page' >{$i}</span></li>";
}
}
//当末页小于总页数则显示,...
if ($to < $totalPage) {
$pageStr .= '<li>...</li>';
}
//如果$currentPage < 1 显示 尾页与下一页
if ($currentPage < $totalPage) {
$pageStr .= "<li><a href='" . pageUrl($currentPage + 1) . "'>下一页</a></li>";
$pageStr .= "<li><a href='" . pageUrl($totalPage) . "'>尾页</a></li>";
}
$pageStr .= '</ul>';
$pageStr .= '</div>';
}
return $pageStr;
}
function pagesUsers($total, $currentPage, $pageSize, $show = 6)
{
$pageStr = '';
//当数据库总共多少条信息$total = 每页显示几条数$pageSize;那么就不必做分页处理
if ($total > $pageSize) {
//得出总页数
$totalPage = ceil($total / $pageSize);//向上取整获取总页数
//对待当前页进行容错处理
$currentPage = $currentPage > $totalPage ? $totalPage : $currentPage;
//分页起始页
//但是如果起始页出现负值则需要容错处理
$from = max(1, $currentPage - intval($show / 2));
//分页结束页(减一是因为起始页$from 已经显示了不应该计算在内)
$to = $from + $show - 1;
//当结束页大于总页则需要换一种思路:之前是从左算到右,这种情况应该从右->左
if ($to > $totalPage) {
$to = $totalPage;
//加一是因为,如一共10页 要显示6页$from=10-6=4,但算上第四页到第10页
//之间差了7页而非6页,所以应该加上1;
$from = max(1, $to - $show + 1);
}
$pageStr .= '<div class = "am-fr">';
$pageStr .= '<ul class="am-pagination tpl-pagination">';
//如果$currentPage > 1 显示 首页与上一页
if ($currentPage > 1) {
$pageStr .= "<li class='curr-page'><a href='" . pageUrl(1) . "'>首页</a></li>";
$pageStr .= "<li class='curr-page'><a href='" . pageUrl($currentPage - 1) . "'>上一页</a></li>";
}
//当起始页大于1则显示,...
if ($from > 1) {
$pageStr .= "<li class='curr-page'>...</li>";
}
//循环中间显示的页码
for ($i = $from; $i <= $to; $i++) {
//还需要考虑样式
if ($i != $currentPage) {
$pageStr .= "<li class='curr-page'><a href='" . pageUrl($i) . "'>{$i}</a></li>";
} else {
$pageStr .= "<li class='curr-page'><span class='curr-page' >{$i}</span></li>";
}
}
//当末页小于总页数则显示,...
if ($to < $totalPage) {
$pageStr .= "<li class='curr-page'>...</li>";
}
//如果$currentPage < 1 显示 尾页与下一页
if ($currentPage < $totalPage) {
$pageStr .= "<li class='curr-page'><a href='" . pageUrl($currentPage + 1) . "'>下一页</a></li>";
$pageStr .= "<li class='curr-page'><a href='" . pageUrl($totalPage) . "'>尾页</a></li>";
}
$pageStr .= '</ul>';
$pageStr .= '</div>';
}
return $pageStr;
}对应这个代码的PHP分页课没了??不好的还剩下,好的没了?
2
收起
正在回答 回答被采纳积分+1
2回答
PHP常用技术与ThinkPHP5框架开发
- 参与学习 人
- 提交作业 225 份
- 解答问题 3372 个
掌握用PHP开发互联网网站的必备功能,掌握当下主流的Linux系统开发,并熟练使用热门框架ThinkPhp开发电商团购项目,是通向PHP工程师必经之路。
了解课程

恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星