我需要有关PHP和MYSQL的帮助。我正在尝试创建分页系统,但在字段值中使用ORDER。就像我最初要获取700行一样,之后我希望接下来的700行以相同的顺序排除之前的行。
这是我的查询:
$sql = "SELECT * FROM table WHERE user LIKE '%$user%' ORDER BY points DESC LIMIT 700";
现在,除了我在第一个请求中得到的行之外,我希望接下来的700行。如果用户请求第3页并获得700条记录(不包括前1400(700 * 2)条记录),同样如此。
谢谢:)
答案 0 :(得分:-1)
Limit可以与LIMIT的开始和结束两个值一起使用 例如您的第一页:
$sql = "SELECT * FROM table WHERE user LIKE '%$user%' ORDER BY points DESC LIMIT 0,700";
基本上,如果page是变量$ p,则从1开始,则:
$sql = "SELECT * FROM table WHERE user LIKE '%$user%' ORDER BY points DESC LIMIT " . (($p - 1) * 700) . ", " . ($p * 700);
当然,您跳700也可以是动态的,$ jump:
$jump = 700; // or any other value...
$sql = "SELECT * FROM table WHERE user LIKE '%$user%' ORDER BY points DESC LIMIT " . (($p - 1) * $jump) . ", " . ($p * $jump);