Php 从mysql查询中生成多个页面
所以,我有这个数据库,有一些字段叫做“id”、“title”和“message”。现在数据库里有700条信息。所以我想做的就是把每页最多50个消息标题设为一个限制,并制作多个页面。。。我该怎么做Php 从mysql查询中生成多个页面,php,mysql,Php,Mysql,所以,我有这个数据库,有一些字段叫做“id”、“title”和“message”。现在数据库里有700条信息。所以我想做的就是把每页最多50个消息标题设为一个限制,并制作多个页面。。。我该怎么做 我只知道使用LIMIT..获取第一页,正如您所猜测的,您必须使用 它接受两个值(引用): 要返回的第一行的偏移量 要返回的最大行数 在您的情况下,您必须在第一页使用以下内容: select * from your_table order by ... limit 0, 50 然后,对于第二页:
我只知道使用
LIMIT
..获取第一页,正如您所猜测的,您必须使用
它接受两个值(引用):
- 要返回的第一行的偏移量
- 要返回的最大行数
在您的情况下,您必须在第一页使用以下内容:
select * from your_table order by ... limit 0, 50
然后,对于第二页:
select * from your_table order by ... limit 50, 50
至于第三个:
select * from your_table order by ... limit 100, 50
等等;-)
在注释后编辑:要获取页码,您必须从URL接收,如下所示:
http://www.example.com/page.php?pagenum=2
然后,您将计算限制的第一个值:
$offset = 50 * intval($_GET['pagenum']);
并将其插入到查询中:
select * from your_table order by ... limit $offset, 50
构建指向不同页面的URL现在需要获取如下URL:
http://www.example.com/page.php?pagenum=0
http://www.example.com/page.php?pagenum=1
http://www.example.com/page.php?pagenum=2
...
如果您知道您有700个元素,并且每页50个元素,那么您将有700/50页;-)
所以,像这样的事情应该可以做到:
for ($i=0 ; $i<700/50 ; i++) {
// Use http://www.example.com/page.php?pagenum=$i as URL
}
PHP文件可能会收到一个GET参数作为页码 然后使用LIMIT($page\u number*$messages\u per\u page)、$messages\u per\u page(伪代码)进行查询
$messages\u per\u page=50(在您的情况下)$页码是从GET参数推导出来的,经过清理后,第一页是页码0。啊,太好了!但是我怎样才能添加菜单呢?我只得到1/14页的链接?
select count(*) as total
from your_table
...