分页起着重要的作用,在任何Web应用程序,具有足够大的数据被分成页。它不仅外观整洁,但也提高了一个网页的加载时间。所以,分页是很重要的一个改进的用户界面,并节省服务器资源。在本教程中,我会告诉你一个简单的方法来创建在PHP中,同时获取数据从MySQL分页。所以,让我们开始吧。
寻找jQuery的分页?这是在这里。
我刚才提到下面这个分页教程经常会用到的三个重要变量。
1
2
3
|
$page; // This variable contains the current page number
$limit; // The number of posts / articles to show on each page
$total_posts; // The total number of posts available in the database
|
现在,看看下面的代码,并揣摩自己什么它是所有关于。不要担心,如果你有无法作为代码始终是很好的注释。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
/*
* Trying to get the page number if the $_GET['p'] parameter is set. If not, set the $page variable to 1.
*/
if(isset($_GET['p'])) {
$page = intval($_GET['p']);
if(empty($page)) {
$page = 1;
}
}
/*
* $start variable as per the current page. We will be using this in our SQL queries.
*/
$start = ($page – 1) * $limit;
/*
* An important fix for the pagination.
*/
if($start == $total_posts || $start > $total_posts) {
$start = 0;
$page = 1;
}
|
首先,我们检查page参数是否是通过设置全局变量$ _GET。这是一个GET请求,因为我们将在url中传递的页码。如果没有设置,那么$页= 1,这意味着我们是在第一页。然后,开始的变量的值被设置,因为它会被用在我们的SQL语句以及与限制变量提取结果。最后,我已经申请了一个小的分页修复,因此,如果有人试图在url这是我们的最后一页大于手动输入页码,分页复位的第一页。
这里是我编码,我们将使用在我们的网页链接显示的分页功能。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
function pagination($page, $total_pages, $limit) {
/*
* We are going to use $stages for creating the gap between pages in the pagination links.
*/
$stages = 1;
/*
* The previous and next links.
*/
$prev = $page – 1;
$next = $page + 1;
$lastpage = ceil($total_pages/$limit);
$LastPagem1 = $lastpage – 1;
$paginate = ”;
if($lastpage > 1) {
$paginate .= ‘<div>’;
## Previous
if($page > 1) {
$paginate .= ‘<a href=”?p=’.$prev.’”>previous</a>’;
} else {
$paginate .= ‘<span>previous</span>’;
}
## Pages
if($lastpage < 7 + ($stages * 2)) {
for($counter = 1; $counter <= $lastpage; $counter++) {
if($counter == $page) {
$paginate .= ‘<span>’.$counter.’</span>’;
} else {
$paginate .= ‘<a href=”?p=’.$counter.’”>’.$counter.’</a>’;
}
}
} elseif($lastpage > 5 + ($stages * 2)) {
if($page < 1 + ($stages * 2)) {
for($counter = 1; $counter < 4 + ($stages * 2); $counter++) {
if($counter == $page) {
$paginate .= ‘<span>’.$counter.’</span>’;
} else {
$paginate .= ‘<a href=”?p=’.$counter.’”>’.$counter.’</a>’;
}
}
$paginate .= ‘…’;
$paginate .= ‘<a href=”?p=’.$LastPagem1.’”>’.$LastPagem1.’</a>’;
$paginate .= ‘<a href=”?p=’.$lastpage.’”>’.$lastpage.’</a>’;
} elseif($lastpage – ($stages * 2) > $page && $page > ($stages * 2)) {
$paginate .= ‘<a href=”?p=1″>1</a>’;
$paginate .= ‘<a href=”?p=2″>2</a>’;
$paginate .= ‘…’;
for($counter = $page – $stages; $counter <= $page + $stages; $counter++) {
if($counter == $page) {
$paginate .= ‘<span>’.$counter.’</span>’;
} else {
$paginate .= ‘<a href=”?p=’.$counter.’”>’.$counter.’</a>’;
}
}
$paginate .= ‘…’;
$paginate .= ‘<a href=”?p=’.$LastPagem1.’”>’.$LastPagem1.’</a>’;
$paginate .= ‘<a href=”?p=’.$lastpage.’”>’.$lastpage.’</a>’;
} else {
$paginate .= ‘<a href=”?p=1″>1</a>’;
$paginate .= ‘<a href=”?p=2″>2</a>’;
$paginate .= ‘…’;
for($counter = $lastpage – (2 + ($stages * 2)); $counter <= $lastpage; $counter++) {
if($counter == $page) {
$paginate .= ‘<span>’.$counter.’</span>’;
} else {
$paginate .= ‘<a href=”?p=’.$counter.’”>’.$counter.’</a>’;
}
}
}
}
## Next
if($page < $counter – 1) {
$paginate .= ‘<a href=”?p=’.$next.’”>next</a>’;
} else {
$paginate .= ‘<span>next</span>’;
}
$paginate .= ‘</div>’;
}
echo $paginate;
}
|
PHP函数上面有3个必需的参数- $页面,$ total_items,$限制。下面写的SQL查询的格式会告诉你如何,我们将每当前页面显示结果。
$sql = “SELECT * FROM `posts` LIMIT {$start}, {$limit}”;
|
在这里,我们使用的是从我们的PHP代码开始和$限制变量。比方说,你是在第3页,每一页上显示的项目是10,上面的查询将会像一个如下图所示。
1
|
$sql= “SELECT * FROM `posts` LIMIT 20, 10″;
|
现在,使用下面的代码到任何你想去的更换所需的参数为你的代码在您的网页上显示分页链接。
1
|
pagination($page, $total_posts, $limit);
|
这是所有需要在您的网站上实现分页系统。搁笔前,我已经在下面一节中的分页链接粘贴示例CSS。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
/*
@@ Pagination
*/
.paginate {
font-family: “arial”, sans-serif;
padding: 3px;
margin: 3px;
}
.paginate a {
padding: 2px 5px;
margin: 2px;
border: 1px solid transparent;
text-decoration: none;
color: #333;
}
.paginate a:hover, .paginate a:active {
border: 1px solid #ff0000;
background: #ff0000;
color: #fff;
}
.paginate span.current {
margin: 2px;
padding: 2px 5px;
border: 1px solid #000;
font-weight: bold;
background-color: #000;
color: #fff;
}
.paginate span.disabled {
padding: 2px 5px;
margin: 2px;
color: #ddd;
}
|
本教程结束。我希望你喜欢阅读这篇文章。
本文来自李新的博客,转载请注明出处。http://www.ilixin.net/406.html
相关推荐
php 和 mysql 进行分页,php 和 mysql 进行分页,php 和 mysql 进行分页,php 和 mysql 进行分页,php 和 mysql 进行分页,php 和 mysql 进行分页,php 和 mysql 进行分页,php 和 mysql 进行分页,php 和 mysql ...
mysql存储过程实现分页 mysql存储过程实现分页 mysql存储过程实现分页 mysql存储过程实现分页
PHP和MYSQL分页代码,带有数据库. 可以实现数据分页
对于mysql中的大量数据显示问题,进行了分页,使得数据可以更加清晰的显示
这两天学习了nodejs mysql 实现分页,很重要,所以,今天添加一点小笔记。 代码如下 var express = require('express'); var router = express.Router(); var settings = require('../settings.js'); var mysql =...
PHP+MYSQL分页代码
php ajax mysql 点击加载更多 分页 ,数据库在根目录下article.sql 配置文件content.php
PHP+MySql分页显示示例分析 PHP+MySql分页显示示例分析
超简单实用的PHP操作MYSQL数据库类 与分页实现
一个封装好的php+mysql分页类,分页显示MySQL数据库中的数据,根据SQL查询语句从表中读取相应的记录,显示首页、下页、上页、未页。
如何优化Mysql千万级快速分页,详尽解决方案!
基于PHP+MySQL实现分页技术 一、 开发环境 1、环境搭建:Windows 7+Apache 2.4.18+...本案例使用PHP 7中的PDO数据对象对MySQL数据库进行操作,通过使用PDO对页码、偏移量、URL等变量进行传递,从而实现分页条的制作。
是介绍使用mysql和oracle进行分页的技术,还说明了mysql和oracle分页的区别
Gridview连接mysql以及分页显示
accss, mysql, asp通用分页,自定义分页样式
php+mysql 的数字分页 类似google的分页带有样式有例子
PHP+mysql分页原理和实例应用.pdf
MySQL 百万级分页优化(Mysql千万级快速分页),主要解决大数量级的优化
MySql 分页 存储过程 MySql 分页 存储过程 MySql 分页 存储过程
基于AJAX PHP MYSQL的无刷新分页工具的研究与实现.pdf