正文
php对json数据分页 php实现分页
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
怎么做php数据库调取数据分页显示,要php的
?php
include("connection.php");
$perNumber=10; //每页显示php对json数据分页的记录数
$page=$_GET['page']; //获得当前php对json数据分页的页面值
$count=mysql_query("select count(*) from user"); //获得记录总数
$rs=mysql_fetch_array($count);
$totalNumber=$rs[0];
$totalPage=ceil($totalNumber/$perNumber); //计算出总页数
if (!isset($page)) {
$page=1;
} //如果没有值,则赋值1
$startCount=($page-1)*$perNumber; //分页开始,根据此方法计算出开始的记录
$result=mysql_query("select * from user limit $startCount,$perNumber"); //根据前面的计算出开始的记录和记录数
while ($row=mysql_fetch_array($result)) {
echo "user_id:".$row[0]."br";
echo "username:".$row[1]."br"; //显示数据库的内容
}
if ($page != 1) { //页数不等于1
?
a href="fenye.php?page=?php echo $page - 1;?"上一页/a !--显示上一页--
?php
}
for ($i=1;$i=$totalPage;$i++) { //循环显示出页面
?
a href="fenye.php?page=?php echo $i;?"?php echo $i ;?/a
?php
}
if ($page$totalPage) { //如果page小于总页数,显示下一页链接
?
a href="fenye.php?page=?php echo $page + 1;?"下一页/a
?php
}
?
================================
这个是很简单的..而且也写php对json数据分页了注释..不知道合不合php对json数据分页你的意..
用getjson怎么进行分页操作
1、ashx返回json数据,减少传输数据量,html页面样式控制也比较灵活;
2、改写html页的jQuery代码;
3、把3个ashx文件简化为1个。
一、创建表的测试数据:
create table test(id int identity,title varchar(36))
declare @index int;
set @index = 1;
while(@index 8888)
begin
insert test(title) values (newid())
set @index = @index + 1
end
二、.html页
html xmlns=""
head runat="server"
title/title
script type="text/javascript" src="jquery-1.4.2.min.js"/script
script type="text/javascript"
$(function() {
Init();
});
function Init() {
$("#Content").html("");
$("#pageIndex").val(0);
$("#pageInfo").append("当前第1页");
$.getJSON("Handler.ashx", { type: 'first' }, function(data) {
$("#Content").append("trth
style='width:130px'id/thth
style='width:150px'title/th/tr");
$.each(data, function(i) {
$("#Content").append("trtd" +
data[i].id + "/tdtd" + data[i].title +
"/td/tr");
})
})
}
function Pre() {
var currIndex = Number($("#pageIndex").val()) - 1;
Go('pre', currIndex);
}
function Next() {
var currIndex = Number($("#pageIndex").val()) + 1;
Go('next', currIndex);
}
function Go(type, index) {
$("#Content").html("");
$("#pageInfo").html("");
if (index == 0 || index == -1) { Init(); return; }
$.getJSON("Handler.ashx", { type: type, index: index }, function(data) {
$("#Content").append("trth
style='width:130px'id/thth
style='width:150px'title/th/tr");
$.each(data, function(i) {
$("#Content").append("trtd" +
data[i].id + "/tdtd" + data[i].title +
"/td/tr");
})
$("#pageInfo").append("当前第 " + (index + 1) + " 页");
$("#pageIndex").val(index);
});
}
/script
/head
body
form id="form1" runat="server"
div style="width: 100%"
table id="Content"
/table
/div
div id="PagePanel" style="margin-left:20px"
label id="pageInfo"/label
a href="#" onclick="Pre()"上一页/a
a href="#" onclick="Next()"下一页/a
/div
input type="hidden" value="0" id="pageIndex" /
/form
/body
/html
三、.ashx页
public class Handler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
StringBuilder tb = new StringBuilder();
DataBase db = new DataBase();
int pageSize = 10;
int pageIndex = 0;
string type = context.Request.Params["type"];
switch (type)
{
case "first":
DataTable dt1 = db.GetDataSet("select top 10 * from test", null).Tables[0];
tb.Append(Common.DataTableToJSON(dt1, true)); //DataTable转为JSON
break;
case "next":
pageIndex = Convert.ToInt32(context.Request.Params["index"]);
DataTable dt2 = db.GetDataSet("select top " +
pageSize.ToString() + " * from test where id (select max(id) from
(select top " + (pageSize * pageIndex).ToString() + " id from test) t)",
null).Tables[0];
tb.Append(Common.DataTableToJSON(dt2, true));
break;
case "pre":
pageIndex = Convert.ToInt32(context.Request.Params["index"]);
DataTable dt3 = db.GetDataSet("select top " +
pageSize.ToString() + " * from test where id (select max(id) from
(select top " + (pageSize * pageIndex).ToString() + " id from test) t)",
null).Tables[0];
tb.Append(JSONHelper.DataTableToJSON(dt));
break;
}
context.Response.Write(tb.ToString());
}
public bool IsReusable
{
get
{
return false;
}
}
}
json数据已经拿到了 前台怎么进行分页
jsp页面分页显示json数据,需要有分页的方法:
参考举例:
function $(id) {
return document.getElementById(id);
} //定义获取ID的方法
function GotoPage(num) { //跳转页
Page = num;
OutputHtml();
}
var PageSize = 9; //每页个数
var Page = 1; //当前页码
function OutputHtml() {
var obj = eval(siteList); //获取JSON
var sites = obj.sites;
//获取分页总数
var Pages = Math.floor((sites.length - 1) / PageSize) + 1;
if (Page 1) Page = 1; //如果当前页码小于1
if (Page Pages) Page = Pages; //如果当前页码大于总数
var Temp = "";
var BeginNO = (Page - 1) * PageSize + 1; //开始编号
var EndNO = Page * PageSize; //结束编号
if (EndNO sites.length) EndNO = sites.length;
if (EndNO == 0) BeginNO = 0;
if (! (Page = Pages)) Page = Pages;
$("total").innerHTML = "Total:strong class='f90'" + sites.length + "/strong Show:strong class='f90'" + BeginNO + "-" + EndNO + "/strong";
//分页
if (Page 1 Page !== 1) {
Temp = "a href='javascript:void(0)' onclick='GotoPage(1)'Index/a a href='javascript:void(0)' onclick='GotoPage(" + (Page - 1) + ")'Previous/a "
} else {
Temp = "Index Previous "
};
//完美的翻页列表
var PageFrontSum = 3; //当页前显示个数
var PageBackSum = 3; //当页后显示个数
var PageFront = PageFrontSum - (Page - 1);
var PageBack = PageBackSum - (Pages - Page);
if (PageFront 0 PageBack 0) PageBackSum += PageFront; //前少后多,前剩余空位给后
if (PageBack 0 PageFront 0) PageFrontSum += PageBack; //后少前多,后剩余空位给前
var PageFrontBegin = Page - PageFrontSum;
if (PageFrontBegin 1) PageFrontBegin = 1;
var PageFrontEnd = Page + PageBackSum;
if (PageFrontEnd Pages) PageFrontEnd = Pages;
if (PageFrontBegin != 1) Temp += 'a href="javascript:void(0)" onclick="GotoPage(' + (Page - 10) + ')" title="前10页"../a';
for (var i = PageFrontBegin; i Page; i++) {
Temp += " a href='javascript:void(0)' onclick='GotoPage(" + i + ")'" + i + "/a";
}
Temp += " strong class='f90'" + Page + "/strong";
for (var i = Page + 1; i = PageFrontEnd; i++) {
Temp += " a href='javascript:void(0)' onclick='GotoPage(" + i + ")'" + i + "/a";
}
if (PageFrontEnd != Pages) Temp += " a href='javascript:void(0)' onclick='GotoPage(" + (Page + 10) + ")' title='后10页'../a";
if (Page != Pages) {
Temp += " a href='javascript:void(0)' onclick='GotoPage(" + (Page + 1) + ");'Next/a a href='javascript:void(0)' onclick='GotoPage(" + Pages + ")'Last/a"
} else {
Temp += " Next Last"
}
$("pagelist").innerHTML = Temp;
//输出数据
if (EndNO == 0) { //如果为空
$("content").innerHTML += "h1No Images/h1";
return;
}
var html = "";
for (var i = BeginNO - 1; i EndNO; i++) {
html += "div class='entry'";
html += "a href='" + sites[i].Url + "' rel='bookmark' title=" + sites[i].Name + "";
html += "img src='" + sites[i].Pic + "' width='200' height='170' /";
html += "p class='url'span" + sites[i].Name + "/span/p/a";
html += "/div";
}
$("content").innerHTML = html;
clickShow(); //调用鼠标点击事件
//键盘左右键翻页
document.onkeydown = function(e) {
var theEvent = window.event || e;
var code = theEvent.keyCode || theEvent.which;
if (code == 37) {
if (Page 1 Page !== 1) {
GotoPage(Page - 1);
}
}
if (code == 39) {
if (Page != Pages) {
GotoPage(Page + 1);
}
}
}
//鼠标滚轮翻页
function handle(delta) {
if (delta 0) {
if (Page 1 Page !== 1) {
GotoPage(Page - 1);
}
} else {
if (Page != Pages) {
GotoPage(Page + 1);
}
}
}
function wheel(event) {
var delta = 0;
if (!event)
/* For IE. */
event = window.event;
if (event.wheelDelta) {
/* IE或者Opera. */
delta = event.wheelDelta / 120;
/** 在Opera9中,事件处理不同于IE
*/
if (window.opera) delta = -delta;
} else if (event.detail) {
/** 兼容Mozilla. */
/** In Mozilla, sign of delta is different than in IE.
* Also, delta is multiple of 3.
*/
delta = -event.detail / 3;
}
/** 如果 增量不等于0则触发
* 主要功能为测试滚轮向上滚或者是向下
*/
if (delta) handle(delta);
}
/** 初始化 */
if (window.addEventListener)
/** Mozilla的基于DOM的滚轮事件 **/
window.addEventListener("DOMMouseScroll", wheel, false);
/** IE/Opera. */
window.onmousewheel = document.onmousewheel = wheel;
}
//获取链接地址和网站名称
function showLink(source) {
var siteUrl = $("siteurl");
var siteName = $("sitename");
var description = $("description");
if (source.getAttribute("rel") == "bookmark") {
var url = source.getAttribute("href");
var title = source.getAttribute("title");
siteUrl.innerHTML = "a href='" + url + "' target='_blank'" + url + "/a";
siteName.innerHTML = title;
}
}
//鼠标点击事件
function clickShow() {
var links = $("content").getElementsByTagName("a");
for (var i = 0; i links.length; i++) {
var url = links[i].getAttribute("href");
var title = links[i].getAttribute("title");
links[i].onclick = function() {
showLink(this);
return false;
}
}
}
说明:
1、读取外部数据JSON并根据设置分页显示,添加删除酷站都可以在JSON文件里改;
2、点击酷站后,右侧的框里显示网站的地址和名称并带有链接,DESCRIPTION部分偷了个懒没写,需要的可以自己加;
3、支持键盘翻页和鼠标滚轮翻页;
php对json数据分页的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php实现分页、php对json数据分页的信息别忘了在本站进行查找喔。