У меня возникла проблема с сортировкой и присвоением ранжирования с разбивкой по страницам.
$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>';
}
Таким образом, каждый ранг страницы присваивается снова и снова. Мой вопрос заключается в том, как ограничивать запрос только ПОСЛЕ получения всех данных или, возможно, советами по другому способу pagionation.
ОБНОВЛЕНИЕ: Исправлена проблема, меняя $ я = 1; до $ я = $ start_from + 1;
Ограничение $ i?
$maxPerPage = 20;
$i = 0;
while($i < $maxPerPage && $row = mysqli_fetch_assoc($result)){
echo 'Rank: '.$i++.'. Name:'.$row[Name].'Likes: '.$row[Likes].'<br>';
}
Но LIMITING в mysql (в вашем случае) лучше, чем получение всех строк и выборка только некоторых.