PHP结合Ajax数字分页

本文介绍了一个结合PHP和Ajax实现的数字分页功能,通过简单的实例展示了如何在网页上实现类似百度的分页效果。该示例适用于日常应用,并提供了一个基本框架供进一步定制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

很久都没碰程序了,在无聊中写了一个PHP与Ajax相结合仿百度的数字分页,已经足以在日常中的运用,这里只是一个简单例子的实现,在项目运用过程中需要做一些改动,至于其改动方式得看你自己了,多余的不说了。
演示地址:http://www.phpcq.com/demo/pager.php
分页代码:
<?php
//Author:www.phpcq.com
mysql_connect('localhost','root','') or die('Host error!');
mysql_select_db('test');
mysql_query('SET NAMES utf8');
$pageSize = 5;
$query = mysql_query("SELECT * FROM test ORDER BY id DESC LIMIT
$pageSize");
while($row = mysql_fetch_object($query)){
$results[] = clone $row;
}
$query = mysql_query('SELECT COUNT(*) AS count FROM test');
$count = mysql_fetch_object($query);
if('get' == $_GET['action']){
$offset = $_GET['offset'];
$size = ($offset - 1) * $pageSize;
$query = mysql_query("SELECT * FROM test ORDER BY id DESC
LIMIT $size,$pageSize");
while($row = mysql_fetch_object($query)){
$row->count = $count->count;
$result[] = clone $row;
}
echo json_encode($result);//数据记录
exit();
}
if('ajax' == $_GET['action']){
echo $count->count;//记录总数
exit();
}
?>
<html>
<head>
<title> This is a digital pager's demo with PHP 、Mysql and Ajax!</title>
<script type="text/javascript" src="jquery.js"></script>
<script>
$(document).ready(function(){
$.get('pager.php',{action:'ajax'},function(data){
var pagerString = '';
var pageSize = 5;
var countPage = Math.ceil(data / pageSize);
for(i = 1;i <= countPage && 10 >= i;i++){
if(1 == i){
pagerString += '<a>'+i+'</a> '
} else {
pagerString += '<a href="javascript:void(0)" onclick="paging('
+i+')">'+i+'</a> '
}
}
$('#pager').html(pagerString);
});
});
function paging(page){
$.getJSON('pager.php',{offset:page,action:'get'},function(data){
var pagerString = '';
var htmlContentString = ''
var pageSize = 5;
var countPage = Math.ceil(data[0].count / pageSize);
$.each(data,function(i,n){
htmlContentString += '<p>Test:'+n['test']+'</P>';
});
for(i = page - 9;i <= page + 9 && i <= countPage;i++){
if(0 < i){
if(i == page){
pagerString += '<a>'+i+'</a> '
} else {
pagerString += '<a href="javascript:void(0)" onclick="paging('
+i+')">'+i+'</a> '
}
}
}
$('#pager').html(pagerString);
$('#content').html(htmlContentString);
});
}
</script>
</head>
<body>
<div id="content">
<!--数据记录-->
<?php foreach($results as $values):?>
<p>Test:<?php echo $values->test;?></p>
<?php endforeach;?>
</div>
<div id="pager">
<!--翻页条码-->
</div>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值