如何使用下一个和上一个

时间:2016-01-26 16:44:12

标签: php sql

我有一个拥有超过5,000条记录的数据库,我想获取50行,然后在用户点击下一个时获取下一个50,而当用户点击上一个时则相反。

表名:事件

我的审判是

select * from events where entred_by = '$id' limit $limit, 50

但问题是我无法计算下一行和前一行。

  

修改

        $start = '0';
        $PAGE_P = $_GET['p'];
        $PAGE_N = $_GET['n'];
        if(!numeric($PAGE_N)){ 
            $PAGE_N = 50;
            $PAGE_P = 0;
            $start = '0';
        }else{
            if(isset($_GET['n'])){
                $PAGE_N = $PAGE_N + 50;
                $PAGE_P = $PAGE_N - 50;
                $start = $PAGE_N;
            }else{
                $PAGE_N = $PAGE_P + 50;
                $PAGE_P = $PAGE_N - 50; 
                $start = $PAGE_P;               
            }
        }
        $this->query = SQL::get("
            SELECT * FROM event 
            INNER JOIN user
            ON user.user_id = event.entered_by
            ORDER BY event_id ASC LIMIT $start,50
        ");

我进行了编辑,编辑后我可以使用下一个按钮,但是当我按下之前它会回到第1行。

1 个答案:

答案 0 :(得分:0)

SELECT * FROM events WHERE entred_by = '$id' ORDER BY id LIMIT $start, $limit

设置$ start值(行号开始)和$ limit(50)。

您需要使用LIMIT关键字,也可能使用ORDER BY。

更新编辑:

好的,忽略验证,它应该是这样的:

$this->query = SQL::get("
            SELECT * FROM event 
            INNER JOIN user
            ON user.user_id = event.entered_by
            ORDER BY event_id ASC 
            LIMIT $start_row, $number_of_rows
        ");