我在MySQL数据库中有一个新闻表我查询表并在一个PHP页面中显示新闻标题,但现在表格变得越来越大,所以我想将结果分成页面我的意思是显示每个50个新闻标题在一个页面(pagenation)。 我用这个查询带来的消息:如何将MySQL查询结果限制为特定结果?
SELECT news.*, categories.category, users.username
FROM news INNER JOIN
users on news.user_id = users.id INNER JOIN
categories on categories.id = news.category_id
order by news.timestamp DESC
limit $min,$max
,这是PHP页面的一部分(我如何计算最大值和最小值)
$news_per_page = 50;
if(!empty($_GET['p_n']))
{
$p_n = $_GET['p_n'];
$max = $news_per_page*$p_n;
$min = ($max - $news_per_page);
}
else
{
$p_n = 1;
$max = 50;
$min = 0;
}
$news = all_news($max,$min);
的sql给我,当我通过错误的结果限制我不知道为什么。以这种方式指定sql查询的最大值和最小值是错误的吗?我应该纠正这些代码中的某些内容吗
LIMIT子句在MySQL手册解释说,这也说明你的形式,所以它说LIMIT的第一个和第二个参数代表什么。 '$ max'在你的情况下是错误的,它总是每页的数字,如此恒定,所以你的情况是50。 https://dev.mysql.com/doc/refman/5.0/en/select.html – hakre