Задать вопрос

Как реализовать постраничный вывод данных из БД (PHP, MySQL) с сортировкой?

Собственно, сабж. Делаю некий сайт пока на локальной машине и столкнулся с проблемой постраничного вывода данных из базы. Сам вывод записей и создание ссылок на следующие страницы вопросов не вызвал, а когда дело дошло до сортировки начал "тупить".
Постраничный вывод все реализуют через SELCT * FROM table LIMIT ?i ?i, где ?i - сколько записей и с какой начинать. Но если делать сортировку через ORDER BY ..., то получится что я отсортирую только строки, попадающие под условия лимита, а провести ее надо для всей таблицы и только после этого выводить постранично. Может я что-то не понимаю и есть какой-то другой способ реализации (ну должен же быть). В голову пока ничего не лезет, на просторах сети тоже подобных тем не нашел. Направьте в нужное русло, заранее спасибо!
  • Вопрос задан
  • 2659 просмотров
Подписаться 3 Оценить Комментировать
Ответ пользователя Данил Сысоев К ответам на вопрос (6)
Может попробовать уже готовые варианты?
Например www.pagination.ru
А вообще гуглите в сторону -> pagination php
P.S. А если Ваше решение, то по идее, если мы сначала сохраним в переменную отсортированный массив, а потом будем его выводить, то он должен работать как надо.
Например:
$orderby = mysqli_query("SELECT * FROM `qq` ORDER BY `то по чем сотрируем`");
$page = $_GET['page'];
$i = 0;
while ($news = mysql_fetch_assoc($orderby)){
if ($i < 10*$page AND $i > 10*$page+10) {//10 можно в переменную, в которой будет количество записей на страницу.
echo $news;
}
$i++;
}
Ответ написан
Комментировать