V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Moker
V2EX  ›  问与答

PHP Mysql 分页查询 初始化问题

  •  
  •   Moker · 2015-03-03 21:44:13 +08:00 · 1838 次点击
    这是一个创建于 3546 天前的主题,其中的信息可能已经有所发展或是发生改变。
    自己撸了个分页代码
    $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 (想过说直接强制加上去,但首次加载页面还有别的东西,看起来不大舒服)
    找了下,没找到首次加载相应的判定方法。有什么函数可以实现判定
    第二个问题 我总感觉这种 分页好新手啊啊啊啊啊= =。
    4 条回复    2015-03-03 23:17:11 +08:00
    Bitex
        1
    Bitex  
       2015-03-03 21:52:52 +08:00   ❤️ 1
    我习惯用

    if (! isset($_GET['page'])) {
    $page = 0;
    }
    // blabla
    mhycy
        2
    mhycy  
       2015-03-03 22:40:16 +08:00   ❤️ 1
    https://gist.github.com/anonymous/540d715a1d04ccfd5919
    如果按照这个例子可以这么写
    mhycy
        3
    mhycy  
       2015-03-03 22:45:38 +08:00
    https://gist.github.com/anonymous/a615110d10145992eaa5
    刚刚的代码有BUG
    漏掉了 $page = ($page - 1) * $itemPerPage;
    Moker
        4
    Moker  
    OP
       2015-03-03 23:17:11 +08:00
    @mhycy 谢谢 我主要用了这段就解决了
    $page = isset($_GET['page']) ? $_GET['page'] : 1;
    感觉还是要去看看PHP的语法
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1357 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 17:57 · PVG 01:57 · LAX 09:57 · JFK 12:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.