我正在为我的 php 应用程序编写一些新闻部分,我想为用户编写一个函数,以便能够获取最新的 10 条新闻,稍后当用户要求查看更多新闻时,该函数返回 10 条的最新消息到20等等。 考虑到我的 table 是这样的
+++++News_table++++++++
+news_ID
+news_title
+news_desc
+date_modified
++++++++++++++++++++++
我已经搜索了 MySQL 查询,但我只找到了这个
SELECT new_title , news_desc FROM News_table order by date_modified DESC limit 10 ;
但是这个查询只返回前 10 个项目,如果我想以同样的方式获取接下来的 10 个新闻(新闻 11 到 20),它已经过时了。 我应该如何写我的查询?
最佳答案
查看偏移量
:
SELECT new_title , news_desc FROM News_table order by date_modified DESC limit 0, 10; // 1 - 10
SELECT new_title , news_desc FROM News_table order by date_modified DESC limit 10, 10; // 11 - 20
如果我希望在 PHP 中 $_GET['page']
变量遍历页面,值为 1、2 等,则查询将是:
SELECT new_title , news_desc FROM News_table order by date_modified DESC limit ((int)$_GET['page'] - 1) * 10, 10;
或
$page = isset($_GET['page']) ? ($_GET['page'] - 1) * 10 : 0;
SELECT new_title , news_desc FROM News_table order by date_modified DESC limit $page, 10;
关于php - 获取mysql中的最新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29742553/