如何分页SQL查询结果?

时间:2019-08-17 22:03:17

标签: php mysql

我有一些PHP代码,该代码返回数据库中的所有记录。我每页需要10个结果。如何分页结果? Dunno如何编写一段代码来显示页码...

<?php
$query = $link->query("SELECT * FROM news WHERE category='rhythmix' ORDER BY subject DESC"); 

while($output = $query->fetch_assoc()){
$text = $output['news'];
$text = str_replace('[video]','<div class="video-container">',$text);
$text = str_replace('[/video]','</div>',$text);
$text = str_replace('[media]','<center>',$text);
$text = str_replace('[/media]','</center>',$text);
$embera = new \Embera\Embera();
echo $embera->autoEmbed($text);
}
?>

2 个答案:

答案 0 :(得分:3)

通过以下方式向您的查询添加LIMIT:

SELECT * 
FROM news 
WHERE category='rhythmix' 
ORDER BY subject DESC
LIMIT 0, 10;

第一个数字(0)是重新定义的开始位置,第二个数字(10)是要显示的结果数(偏移量)。

显示第二页:

...LIMIT 10, 10

如果您始终要显示10个结果,则只需在LIMIT的第一个数字上加上10。

答案 1 :(得分:2)

将查询更改为

$query = $link->query("SELECT * FROM news WHERE category='rhythmix' ORDER BY subject DESC LIMIT 0, 10");

显示前10行。可以使用

显示下一组10行
...LIMIT 10, 10");

,依此类推。 。