【PHP代码】php+ajax实现分页效果

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

【PHP代码】php+ajax实现分页效果

ajax可以实现无刷新提交,当然也可以实现无刷新分页,这对于用户体验来说是很不错,好了,废话不说,看代码。

ajaxpage.php【这里是数据展示页面的代码】:

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

ajax.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'].’
user:’.$arr['user'].’


’;

}

for($i=1;$i<=$page_num;$i++){

if($i==$page){

$ajax_arr['page_list'].=’['.$i.']’;

}else{

$ajax_arr['page_list'].=’['.$i.']’;

}

}

//对数组进行json编码,否则ajax无法获取数组形式的返回值

echo json_encode($ajax_arr);

?>

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

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

–phpMyAdmin SQL Dump

–version 3.3.9.2

–主机: localhost

–生成日期: 2002 年01 月01 日04:57

–服务器版本: 5.5.9

–PHP 版本: 5.3.5

SET SQL_MODE=”NO_AUTO_V ALUE_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`) V ALUES

(11, ‘测试2′, ‘测试2′),

(12, ‘测试1′, ‘测试1′),

(13, ‘测试3′, ‘测试3′),

(15, ‘测试4′, ‘测试4′),

(16, ‘测试5′, ‘测试5′),

相关文档
最新文档