Я пытаюсь разбивать пользовательскую информацию в каталог. Сначала у меня было что-то вроде этого: /страница = 3 & Количество = 20 & рода = датаMySQL/PHP - разбиение на страницы, сортировка
$floor = ($page-1)*$count;
$ceiling = $count;
SELECT * FROM catalog ORDER BY date ASC LIMIT $floor, $ceiling
Это, как я читал, это плохо, так как он будет считать все результаты, не останавливаясь на достигнутом предел (пол + потолок).
Теперь я пытаюсь сделать это быстрее, пейджинг относительно последнего пункта на странице
/? Last_date = 2012 & Количество = 20 & сортировки = дата
$ceiling = $count;
SELECT * FROM catalog WHERE date>$last_date ORDER BY date ASC LIMIT $ceiling
Однако , это не будет работать правильно? Некоторые даты будут одинаковыми. Для аргумента предположим, что я не могу использовать более точную метку времени. Например, сортировка по цене будет идти только до 2 знаков после запятой, и определенно будет перекрываться.
Есть ли что-нибудь, что я могу сделать, чтобы сделать это улучшение, или мне нужно вернуться к моему предыдущему запросу?
Ваш первый подход выглядит хорошо для меня. Можете ли вы понять, почему вы говорите, что это неправильно? –
Отключить тему, но я могу предложить сделать обновление до использования JQuery для разбивки на страницы. – Norse
Я согласен с @GustavoVargas, почему вы отказались от своей первой реализации? И я согласен с Norse, вы можете переписывать функциональность, которую вы можете реализовать из фреймворков. –