收到结果后限制查询结果

时间:2015-01-13 11:30:48

标签: php mysqli

我遇到了一个问题,即在分页的同时进行排序和排序。

$query = "SELECT * FROM users WHERE approved=1 ORDER BY Likes DESC LIMIT $start_from, $num_rec_per_page"; 
$result = mysqli_query($conn,$query);
$i=1;
while($row = mysqli_fetch_assoc($result)){
echo 'Rank: '.$i++.'. Name:'.$row[Name].'Likes: '.$row[Likes].'<br>';
}

这样,每个页面排名都会重新给出。 我的问题是,如何在收到所有数据后限制查询, 或者可能有一些关于做其他方式的建议。

更新 通过将 $ i = 1; 更改为 $ i = $ start_from + 1;

来解决此问题

1 个答案:

答案 0 :(得分:0)

限制$ i?

$maxPerPage = 20;
$i = 0;
while($i < $maxPerPage && $row = mysqli_fetch_assoc($result)){
    echo 'Rank: '.$i++.'. Name:'.$row[Name].'Likes: '.$row[Likes].'<br>';
}

但是在mysql中限制(在你的情况下)比获取所有行并获取一些行更好。