请问 下 $_GET['page'] 中的 指的是什么?

我的用意是在每一页放置5条数据,在网上找了段代码?运行效果如下?

想了一晚实在不太理解
$_GET[‘get’]里 page是什么意思,求指点,谢谢。

php
讨论数量: 4

既然是 get 方法传参,你可以去追踪包含 page 这个变量的 url,比如 www.test.com?page=5&name=chang... 之类的。

$_GET['page'] 是表示客户端发送数据的方式是 GETif (isset ($_GET['page']) ) 中 page 是参数名。
这一句是用来判断 通过get方式发送的数据中的参数 page 是否存在且不为 NULL 。
然后进入下面的逻辑,进行分页。
3年前 评论
皇阿玛 (楼主) 3年前

可以把代码优化成$page = isset($_GET[‘page’]) ? escape($_GET[‘page’]) : “”,看着舒服点

3年前 评论
皇阿玛 (楼主) 3年前
oliver-l (作者) 3年前

你是不是不懂分页的原理?
现在普遍的分页,一般有:每页数量(per_page)、页码(page)、偏移量(offset)。
偏移量 = (页码 - 1) * 每页数量

就以你上面每页5条数据为例,例如:

第一页偏移量 = (1 - 1) * 5 = 0;
第二页偏移量 = (2 - 1) * 5 = 5;
第三页偏移量 = (3 - 1) * 5 = 10;
...

那么为什么这样设计呢?主要是配合数据库查询,例如:

查询第一页数据: "select * from user limit 0,5";
查询第二页数据: "select * from user limit 5,5";
查询第三页数据: "select * from user limit 10,5";

备注:limit后面第一个参数是 偏移量,第二个参数是 查询条数。

3年前 评论
皇阿玛 (楼主) 3年前

然后顺便给你说说,你上面给出的代码,前面一个 if else,实际作用就是,获取 page (页码)变量,没有的话就设定默认值。 后面一个 if else ,严格来说,已经不是 page (页码)了,通过计算后得到的应该是 偏移量(offset),用 $offset 作为变量名,会更贴切,更语义化,有助于阅读代码。

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!