2016-05-22 2 views
0

На моем сайте есть страница для отображения всех записей в таблице. Итак, у меня есть простой механизм разбиения на страницы.Получите все записи по дате и времени и с ограничениями

Для разбивки на страницы я запрашиваю таблицу с лимитами в соответствии со страницей.

$query = "SELECT * "; 
$query .= "FROM records "; 
$query .= "LIMIT $start, $limit;"; 

Это прекрасно работает для меня.

Однако заказ, который мне нужен для получения записей, не соответствует порядку таблицы. Это должно быть в соответствии с датой и временем записей. (Есть столбцы для даты и времени).

Итак, когда я изменил запрос на это, он всегда дает мне одинаковые записи на каждой странице.

$query = "SELECT * "; 
$query .= "FROM records "; 
$query .= "WHERE published = '1' ORDER BY date DESC, time DESC "; 
$query .= "LIMIT $start, $limit;"; 

Что мне нужно, все записи должны упорядочить по дате и времени, и они также должны соблюдать для $start и $limit переменных.

Это в основном фактический способ разбиения на страницы. Как реализовать его с этим ..

+0

Он должен работать. Хо, вы заполняете '$ start' и' $ limit'? – nospor

+0

Ваш текущий запрос не работает? – Rahul

+0

Текущий 2-й. Он работает, но он дает правильное изображение. – TharinduLucky

ответ

1

Стандартный шаблон для этого что-то вроде

$itemsPerPage = 10; 
$page = (int) $page; // get $page from route or $_GET['page'] or wherever 
$pageNum = (!empty($page)) ? (int) $page - 1 : 0; 
$start = $pageNum * $itemsPerPage; 

$query = "SELECT * "; 
$query .= "FROM records "; 
$query .= "WHERE published = '1' ORDER BY date DESC, time DESC "; 
$query .= "LIMIT $start, $itemsPerPage;"; 

Помните свое начало плюс количество пунктов, не начать до конца.

+0

Спасибо, что у меня все получилось! :) Это было мое плохое, что не устанавливали пределы правильно! – TharinduLucky

1

Предполагая, что ваши $ start и $ limit являются числами, такими как $ start = 1, $ limit = 50, после каждой страницы увеличивайте как $ start, так и $ limit на $ limit, поэтому $start += $limit, и $limit += $limit. Это должно повлиять на перенос $ start и $ limit на следующую страницу.

Смежные вопросы