最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
php 自动分页类函数
时间:2022-06-24 18:22:14 编辑:袖梨 来源:一聚教程网
不想重复的写sql代码,就用下面的函数去自动处理了。
$__t_page_moyo_html = '';
/**
*
* 临时代码:分页处理函数
* @param string $sql
*/
function page_moyo($sql = '')
{
global $__t_page_moyo_html;
if ($sql == '')
{
return $__t_page_moyo_html;
}
// config
$max = 12;
$flag = 'page';
// step .1 处理sql语句
$sql_count = preg_replace('/select.*?from/is', 'select count(*) as mcnt from', $sql);
// step .2 获取数据量
$result = dbc()->query($sql_count)->getrow();
$total = $result['mcnt'];
// step .3 判断是否需要分页
if ($total < $max)
{
return $sql;
}
// step .4 获取当前页数
$pn = isset($_get[$flag]) ? (int)$_get[$flag] : 1;
if ($pn <= 0) $pn = 1;
// step .5 重组sql语句
$sql = $sql . ' limit '.($pn-1)*$max.','.$max;
// step .6 组装分页html代码
$url = $_server['request_uri'];
if (preg_match('/'.$flag.'=d+/i', $url))
{
$url = preg_replace('/[&]?'.$flag.'=d+/', '', $url);
}
$pageall = ceil($total/$max);
$pre = '';
if ($pn > 1)
{
$pre = ' / 上一页';
}
$nxt = ' / 下一页';
$html = '首页'.$pre.$nxt.' / 尾页';
$__t_page_moyo_html = $html;
return $sql;
}
在进行sql查询前用page_moyo处理一下sql语句
$sql = page_moyo($sql);
然后在需要显示分页链接的地方直接调用page_moyo输出
echo page_moyo();
如果要连续进行两次大数据量sql查询的话就要在第一次查询后存储下当时的分页代码,不然下个sql查询就会覆盖掉了
相关文章
- 人们熟悉的寄居蟹属于以下哪种分类 神奇海洋11月21日答案 11-21
- 第五人格11.22共研服有什么更新 11月22日共研服更新内容介绍 11-21
- 原神恰斯卡怎么培养 11-21
- 无期迷途四星装束是谁 11-21
- 王者荣耀帝丹高中校服怎么获得 11-21
- 光遇姆明季后续版本怎么玩 11-21