php如何根据总数分页返回数据json 给手机端?
目前有一个数组($list),$list是多张数据表查询出来组装成新的二维数组,现在想根据分页参数$p每次返回部分数据。假如$list=100;每页返回10条,默认$p=...
目前有一个数组($list),$list是多张数据表查询出来组装成新的二维数组,现在想根据分页参数$p 每次返回部分数据。
假如 $list=100; 每页返回10条,默认$p=1; 该如何分页输出? 展开
假如 $list=100; 每页返回10条,默认$p=1; 该如何分页输出? 展开
展开全部
打印连接结果:var_dump(mysql_connect('','','',''));
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
PHP的分页原理实际上就是sql的查询语句:
SELECT * FROM table LIMIT 4,10; // 检索记录行 5-15
设若每页10条数据:$page_num=10;
第一页($p=1):$n = $p-1;
那这条语句就是:
SELECT * FROM table LIMIT $n,$page_num
以此类推
第8页就是
SELECT * FROM table LIMIT 7,$page_num
当然,要先计算出总条数和总页数(总条数/每页记录数)不能越界。
数组和上面的原理一样,现粘一段供参考
<?php
/**
* 数组分页函数 核心函数 array_slice
* 用此函数之前要先将数据库里面的所有数据按一定的顺序查询出来存入数组中
* $count 每页多少条数据
* $page 当前第几页
* $array 查询出来的所有数组
* order 0 - 不变 1- 反序
*/
function page_array($count,$page,$array,$order){
global $countpage; #定全局变量
$page=(empty($page))?'1':$page; #判断当前页面是否为空 如果为空就表示为第一页面
$start=($page-1)*$count; #计算每次分页的开始位置
if($order==1){
$array=array_reverse($array);
}
$totals=count($array);
$countpage=ceil($totals/$count); #计算总页面数
$pagedata=array();
$pagedata=array_slice($array,$start,$count);
return $pagedata; #返回查询数据
}
/**
* 分页及显示函数
* $countpage 全局变量,照写
* $url 当前url
*/
function show_array($countpage,$url){
$page=empty($_GET['page'])?1:$_GET['page'];
if($page > 1){
$uppage=$page-1;
}else{
$uppage=1;
}
if($page < $countpage){
$nextpage=$page+1;
}else{
$nextpage=$countpage;
}
$str='<div style="border:1px; width:300px; height:30px; color:#9999CC">';
$str.="<span>共 {$countpage} 页 / 第 {$page} 页</span>";
$str.="<span><a href='$url?page=1'> 首页 </a></span>";
$str.="<span><a href='$url?page={$uppage}'> 上一页 </a></span>";
$str.="<span><a href='$url?page={$nextpage}'>下一页 </a></span>";
$str.="<span><a href='$url?page={$countpage}'>尾页 </a></span>";
$str.='</div>';
return $str;
}
?>
SELECT * FROM table LIMIT 4,10; // 检索记录行 5-15
设若每页10条数据:$page_num=10;
第一页($p=1):$n = $p-1;
那这条语句就是:
SELECT * FROM table LIMIT $n,$page_num
以此类推
第8页就是
SELECT * FROM table LIMIT 7,$page_num
当然,要先计算出总条数和总页数(总条数/每页记录数)不能越界。
数组和上面的原理一样,现粘一段供参考
<?php
/**
* 数组分页函数 核心函数 array_slice
* 用此函数之前要先将数据库里面的所有数据按一定的顺序查询出来存入数组中
* $count 每页多少条数据
* $page 当前第几页
* $array 查询出来的所有数组
* order 0 - 不变 1- 反序
*/
function page_array($count,$page,$array,$order){
global $countpage; #定全局变量
$page=(empty($page))?'1':$page; #判断当前页面是否为空 如果为空就表示为第一页面
$start=($page-1)*$count; #计算每次分页的开始位置
if($order==1){
$array=array_reverse($array);
}
$totals=count($array);
$countpage=ceil($totals/$count); #计算总页面数
$pagedata=array();
$pagedata=array_slice($array,$start,$count);
return $pagedata; #返回查询数据
}
/**
* 分页及显示函数
* $countpage 全局变量,照写
* $url 当前url
*/
function show_array($countpage,$url){
$page=empty($_GET['page'])?1:$_GET['page'];
if($page > 1){
$uppage=$page-1;
}else{
$uppage=1;
}
if($page < $countpage){
$nextpage=$page+1;
}else{
$nextpage=$countpage;
}
$str='<div style="border:1px; width:300px; height:30px; color:#9999CC">';
$str.="<span>共 {$countpage} 页 / 第 {$page} 页</span>";
$str.="<span><a href='$url?page=1'> 首页 </a></span>";
$str.="<span><a href='$url?page={$uppage}'> 上一页 </a></span>";
$str.="<span><a href='$url?page={$nextpage}'>下一页 </a></span>";
$str.="<span><a href='$url?page={$countpage}'>尾页 </a></span>";
$str.='</div>';
return $str;
}
?>
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询