PHP Mysql 分页查询 初始化问题

2015-03-03 21:44:13 +08:00
 Moker
自己撸了个分页代码
$time=date('y-m-d',time());
//分页函数是自己乱琢磨的 撸了一个简单勉强能用的 翻页初始化存在BUG
$b=0;$e=5;
if($_GET['page']!=1)
{
$page=$_GET['page'];
$b=($page-1)*5;$e=5;//每页显示5
}
$total=count($DB->query("SELECT * FROM user"));
$pagemax=$total/5;

foreach($DB->query("SELECT * FROM user limit $b,$e") as $row)
{xxxx}
for($i=1;$i<$pagemax+1;$i++)
{
echo '<li><a href="?page='.$i.'">'.$i.'</a></li>';
}
现在获取$page的方法是在链接xxxx?page=xxxx
但在页面首次加载的时候没有page=1 (想过说直接强制加上去,但首次加载页面还有别的东西,看起来不大舒服)
找了下,没找到首次加载相应的判定方法。有什么函数可以实现判定
第二个问题 我总感觉这种 分页好新手啊啊啊啊啊= =。
1856 次点击
所在节点    问与答
4 条回复
Bitex
2015-03-03 21:52:52 +08:00
我习惯用

if (! isset($_GET['page'])) {
$page = 0;
}
// blabla
mhycy
2015-03-03 22:40:16 +08:00
https://gist.github.com/anonymous/540d715a1d04ccfd5919
如果按照这个例子可以这么写
mhycy
2015-03-03 22:45:38 +08:00
https://gist.github.com/anonymous/a615110d10145992eaa5
刚刚的代码有BUG
漏掉了 $page = ($page - 1) * $itemPerPage;
Moker
2015-03-03 23:17:11 +08:00
@mhycy 谢谢 我主要用了这段就解决了
$page = isset($_GET['page']) ? $_GET['page'] : 1;
感觉还是要去看看PHP的语法

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/174256

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX