不刷新分页分页实现
详细代码。最近,阅读
教程的时候,我想写一个简单的入门PHP + AJAX无刷新分页。我们根据Ajax开发框架,代码如下所示。
无功http_request = false;
功能send_request(URL){ / /初始化,指定
处理函数,发送请求的功能
http_request = false;
/ /初始化XMLHttpRequest对象
如果(窗口。XMLHttpRequest){ / / Mozilla
浏览器
http_request =新的XMLHttpRequest();
如果(http_request。overridemimetype){ / /
设置MIME
类型 http_request.overridemimetype(
文本或XML);
}
}
如果(窗口。ActiveX对象){ / / IE浏览器
尝试{
http_request =新的ActiveX对象(MSXML2. XMLHTTP );
} catch(e){
尝试{
http_request =新的ActiveX对象(微软。XMLHTTP );
} catch(e){ }
}
}
如果(http_request!)异常,未能
创建对象实例
Window.alert(创建XMLHTTP对象失败!;
返回false;
}
http_request onreadystatechange =接口;
确定/发送请求、URL和代码
同步的
执行 http_request.open(拿
http_request.send(空);
}
函数返回信息
功能接口(){
如果(http_request。readyState = = 4){ / /判断对象的状态
如果(http_request。状态= = 200){ / /信息已经回来了,开始处理信息
document.getelementbyid(reobj).innerHTML = http_request.responsetext;
}
其他页不正常。
警告()您请求的页面不正常!;
}
}
}
功能dopage(obj,URL){
document.getelementbyid(obj).innerHTML =读数据…;
send_request(URL);
reobj = obj;
}
我在div中所做的内容表明,当生成页面
操作时,Ajax被用来更新div来打开页面效果,这是内容
显示页面代码:
< PHP
标题(内容类型:文本/ HTML;字符集= gbk); / /输出编码,避免
中文乱码
>
Ajax分页演示
< PHP
页面设置(_get美元美元= {页})intval($ _get {页' }):1; / /这是页面= 18获取页面的价值,如果没有页面,那么页面的数量是1。
$ = 10;页10数据
$ db = mysql_connect(localhost
mysql_select_db(cr_download ); / /选择数据库的操作
*
首先,我们要在数据库中得到多少数据来确定有多少页,具体的公式是
整个数据库按每页上显示的项目数除以一个以上。
也就是说,10 3 = 3.3333 = 4有剩余的进去。
* /
结果= mysql_query美元(SELECT * FROM cr_userinfo );
总美元= mysql_num_rows($结果); / /所有
查询数据
$ URL =测试。php; / /得到
网页的URL
页/计算
pagenum美元=细胞(总美元/美元数); / /得到总页数,和最后一页
$页= min(pagenum美元,$页); / /回家
制page-1美元=美元; / /
nextpg美元=($页= = pagenum美元:美元 / / 1页+ 0);
偏移量=(page-1美元美元美元数); / /第一个
参数达到极限值,如果第一页(1-1)* 10 = 0,第2页(2-1)×10 = 10。
对页面导航栏代码:
pagenav美元=显示。(共计0美元(1美元))。min($偏移量+ 10,总计)。条形记录,总计为总记录;
如果只有一页功能不可用:
如果($ pagenum <= 1)返回false;
pagenav美元。=主页;
如果(合制)pagenav美元。=头版;其他pagenav美元。=头版;
如果pagenav美元(美元nextpg)。=其他pagenav美元。= 页;
pagenav美元。= ;
pagenav美元。= 页面,总数达pagenum页;
如果页面参数的数量大于页面总数,就会显示
错误消息。
如果($页> $ pagenum){
错误:找不到页面;
出口;
}
信息= mysql_query美元(SELECT * FROM cr_userinfo限制抵消美元美元数); / /获取需要显示的数据页对应的数字
而($ = mysql_fetch_array(元信息)){
echo $它{ 'username};
;
显示数据
;
echo $ pagenav; / /输出页面导航
>
对网页的关键是调用dopage()函数当页面被打开,然后使用回调信息更新在div的内容,
服务器端
核心代码:
< PHP
标题(内容类型:文本/ HTML;字符集= gbk); / /输出编码,避免中文乱码
页面设置(_get美元美元= {页})intval($ _get {页' }):1; / /这是页面= 18获取页面的价值,如果没有页面,那么页面的数量是1。
$ = 10;页10数据
$ db = mysql_connect(localhost
mysql_select_db(cr_download ); / /选择数据库的操作
*
首先,我们要在数据库中得到多少数据来确定有多少页,具体的公式是
整个数据库按每页上显示的项目数除以一个以上。
也就是说,10 3 = 3.3333 = 4有剩余的进去。
* /
结果= mysql_query美元(SELECT * FROM cr_userinfo );
总美元= mysql_num_rows($结果); / /所有查询数据
$ URL =测试。php; / /得到网页的URL
页/计算
pagenum美元=细胞(总美元/美元数); / /得到总页数,和最后一页
$页= min(pagenum美元,$页); / /回家
制page-1美元=美元; / /
nextpg美元=($页= = pagenum美元:美元 / / 1页+ 0);
偏移量=(page-1美元美元美元数); / /第一个参数达到极限值,如果第一页(1-1)* 10 = 0,第2页(2-1)×10 = 10。
对页面导航栏代码:
pagenav美元=显示。(共计0美元(1美元))。min($偏移量+ 10,总计)。条形记录,总计为总记录;
如果只有一页功能不可用:
如果($ pagenum <= 1)返回false;
pagenav美元。=主页;
如果(合制)pagenav美元。=头版;其他pagenav美元。=头版;
如果pagenav美元(美元nextpg)。=其他pagenav美元。= 页;
pagenav美元。= ;
pagenav美元。= 页面,总数达pagenum页;
如果页面参数的数量大于页面总数,就会显示错误消息。
如果($页> $ pagenum){
错误:找不到页面;
出口;
}
信息= mysql_query美元(SELECT * FROM cr_userinfo限制抵消美元美元数); / /获取需要显示的数据页对应的数字
而($ = mysql_fetch_array(元信息)){
echo $它{ 'username};
;
显示数据
;
echo $ pagenav; / /输出页面导航
>
以上详细讲解了ajax的非刷新分页
方法,希望能帮助您
学习php
程序。