所以,我有这个数据库的权利,有一些字段叫做'id','title'和'message'。现在我在数据库中获得了700条消息。所以我想要做的是,设置每页最多50条消息标题的限制,并制作多个页面......我该怎么做?从一个MySQL查询中创建多个页面
我只知道拿到的第一页,使用LIMIT
...
所以,我有这个数据库的权利,有一些字段叫做'id','title'和'message'。现在我在数据库中获得了700条消息。所以我想要做的是,设置每页最多50条消息标题的限制,并制作多个页面......我该怎么做?从一个MySQL查询中创建多个页面
我只知道拿到的第一页,使用LIMIT
...
正如你猜,你必须使用LIMIT
keyword。
它接受两个值(引用):
在你的情况,你必须在第一页使用类似这样的东西:
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
等等评论后;-)
编辑:要获得页码,您必须从您的网址接收它,看起来像这样:
http://www.example.com/page.php?pagenum=2
然后,你会计算极限的第一个值,:
$offset = 50 * intval($_GET['pagenum']);
而且在查询其注入:
select * from your_table order by ... limit $offset, 50
构建网址的网页型动物为现在可以获得诸如以下网址的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每页,你必须五十零分之七百页面;-)
所以,这样的事情应该做的伎俩:
for ($i=0 ; $i<700/50 ; i++) {
// Use http://www.example.com/page.php?pagenum=$i as URL
}
当然, 700是可能可以改变一个值,而不应该是硬编码:应该从数据库中确定,使用count
查询:
select count(*) as total
from your_table
...
你的PHP文件可能会收到一个GET参数是页码。
然后你用LIMIT($ page_number * $ messages_per_page),$ messages_per_page(伪代码)进行查询。你的情况
$ messages_per_page = 50。 $ PAGE_NUMBER从GET参数,消毒后推断,第一页是页码0
啊,太好了!但是,我怎么能添加一个菜单?我只获得1/14页的链接? – Thew 2011-02-26 16:09:00
谢谢,工作;) – Thew 2011-02-26 16:40:11
不客气:-)玩得开心! – 2011-02-26 16:41:10