php ajax实现分页效果

ajaxpage.php【这里是数据展示页面的代码】:
<meta charset=’utf-8′>

<script src=” http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js ” type=”text/javascript”/></script>
<script type=”text/javascript”>
//获取当前url地址,主要是获取page参数,为了不实现跳转在分页中采用了锚点连接的方式
var url=location.href;
uarr=url.indexOf(‘#’);
npage=url.substr(uarr 6);
if(!npage)npage=1;
jQuery(function(){
 $.ajax({
     type: “POST”,
     url: “ajax.php”,
     dataType:’json’,//由于ajax返回值是数组,所以在php脚本中经过json编码
     data: “page=” npage,
     success: function(msg){
     $(‘#post_result’).html(msg.page_content);
     $(‘#navipage’).html(msg.page_list);
     }
  });

})

function url_go(page){
 $.ajax({
     type: “POST”,
     url: “ajax.php”,
     dataType:’json’,
     data: “page=” page,
     success: function(msg){
     $(‘#post_result’).html(msg.page_content);
     $(‘#navipage’).html(msg.page_list);
     }
  }); 
 
}

 

</script>

<div id=post_result>
</div>
<div id=navipage>
</div>

————————————————————-

ajax.php【这里是生成数据和分页的代码】:

<?php
$host=”localhost”;
$user=”root”;
$pwd=”root”;
$dbname=”test”;
$link = mysql_connect($host, $user, $pwd)or die(“Could not connect: ” . mysql_error());
mysql_select_db($dbname, $link) or die (‘Can\’t use test : ‘ . mysql_error());
mysql_query(“SET NAMES ‘utf8′”);
mysql_query(“SET CHARACTER_SET_CLIENT=utf8″);
mysql_query(“SET CHARACTER_SET_RESULTS=utf8″);
//分页设置
$page=$_REQUEST['page']?$_REQUEST['page']:1;
//设置每页显示多好条记录
$page_size=2;
//设置limit偏量
$off=($page-1)*$page_size;
//获取总记录数
$sql_all=”select * from user order by id desc”;
$all_res=mysql_query($sql_all);
$total_all=mysql_num_rows($all_res);
//计算页面总数,注意键名,当然你也可以使用数字下标
$page_num=ceil($total_all/$page_size);
//读取当前页记录数
$sql_page=”select * from user order by id desc limit $off,$page_size”;
$page_res=mysql_query($sql_page);

while ($arr=mysql_fetch_array($page_res)){
 $ajax_arr['page_content'].=’id:’.$arr['id'].’<br>user:’.$arr['user'].’<br><hr>’;
}

for($i=1;$i<=$page_num;$i ){
 if($i==$page){
 $ajax_arr['page_list'].=’<a href=#>
 }else{
 $ajax_arr['page_list'].=’<a href=#>
 }
}
//对数组进行json编码,否则ajax无法获取数组形式的返回值
echo json_encode($ajax_arr);

?>

——————————————————

这里是sql文件用来生成测试数据:

– phpMyAdmin SQL Dump
– version 3.3.9.2
– http://www.phpmyadmin.net

– 主机: localhost
– 生成日期: 2002 年 01 月 01 日 04:57
– 服务器版本: 5.5.9
– PHP 版本: 5.3.5

SET SQL_MODE=”NO_AUTO_VALUE_ON_ZERO”;
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;


– 数据库: `test`

– ——————————————————–


– 表的结构 `user`

CREATE TABLE IF NOT EXISTS `user` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `user` varchar(6) NOT NULL,
  `pwd` varchar(30) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=19 ;


– 转存表中的数据 `user`

INSERT INTO `user` (`id`, `user`, `pwd`) VALUES
(11, ‘测试2′, ‘测试2′),
(12, ‘测试1′, ‘测试1′),
(13, ‘测试3′, ‘测试3′),
(15, ‘测试4′, ‘测试4′),
(16, ‘测试5′, ‘测试5′),
(17, ’222′, ’111′),
(18, ’222a’, ’111a’);

——————————————-

下载本程序示例包:http://www.phptogether.com/download/ajaxpage.rar

示例包中含有源代码和生成测试数据的sql文件。

ok,一个简单的ajax分页效果就到此结束了,如果有任何疑问或者更好的实现方式,请联系站长哦!o(∩_∩)o ~~~。



转载请注明:前端录»php ajax实现分页效果

<script src="http://www.wozhuye.com/index.php?m=digg&c=index&a=init&id=30-10-2"></script>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值