Php mySQL数据库查询限制帮助。。。如果返回的行数超过';x';?
我试图编写一个脚本,从mySQL数据库返回行。基本上,我的网站上的用户会获得“体验点”,并根据他们获得的体验点数量提升“等级” 我有一个名为“recentexp.php”的页面,其中所有最近的exp都显示在一个表中,最新的在顶部 如何编写一个代码,在返回更多结果时创建更多页面 如果少于10行,则没有页码,只显示第1页。但是,如果返回了12行,那么在我的页面上有10行最新的(最新的在顶部),然后让PHP创建一个页面“2”,其中放置了最早的2行 如果我解释得不好,我道歉。我累坏了。。漫长的一天Php mySQL数据库查询限制帮助。。。如果返回的行数超过';x';?,php,mysql,sql,database,limit,Php,Mysql,Sql,Database,Limit,我试图编写一个脚本,从mySQL数据库返回行。基本上,我的网站上的用户会获得“体验点”,并根据他们获得的体验点数量提升“等级” 我有一个名为“recentexp.php”的页面,其中所有最近的exp都显示在一个表中,最新的在顶部 如何编写一个代码,在返回更多结果时创建更多页面 如果少于10行,则没有页码,只显示第1页。但是,如果返回了12行,那么在我的页面上有10行最新的(最新的在顶部),然后让PHP创建一个页面“2”,其中放置了最早的2行 如果我解释得不好,我道歉。我累坏了。。漫长的一天 谢谢
谢谢 您可以使用
限制x,y
在x
之后显示y
结果
假设您有一个变量$page
,它通过$\u GET
或其他方式传递$page
默认为1,或者是表示页码的数值
然后,您可以通过以下方式选择该页面的行:
SELECT * FROM `table` WHERE `condition` = ? LIMIT ($page - 1) * 10, 10
您可以将10替换为每页的结果数。如您所见,如果页码为1,则此查询为:
SELECT * FROM `table` WHERE `condition` = ? LIMIT 0, 10
SELECT * FROM `table` WHERE `condition` = ? LIMIT 10, 10
其中显示前10个结果。如果页码为2,则此查询为:
SELECT * FROM `table` WHERE `condition` = ? LIMIT 0, 10
SELECT * FROM `table` WHERE `condition` = ? LIMIT 10, 10
显示第10行之后的10行,即第11-20行(应在第2页!)您正在查找的内容。感谢您的快速回复!至于“LIMIT 10,10”,这不是应该是“LIMIT 10,20”吗?不,第二个数字(
y
,在我的第一个例子中)是第一个数字(x
)之后的行数。这两个数字不是行本身的范围。为了清楚起见,让我们使用两个不同的数字:LIMIT 10,15
表示在第10行之后获取接下来的15行,因此它将返回第11-25行。