У меня есть небольшая проблема с отображением данных из базы данных. Get_results показывает все записи из базы данных, кроме последней добавленной. У меня также есть функции для разбивки на страницы, и если я удалю его, то отобразится все правильно.get_results не показывает последнюю запись
Код:
global $wpdb;
$per_page = 10;
$page = isset($_GET['cpage']) ? abs((int) $_GET['cpage']) : 1;
if ($page > 1) {
$offset = $page * $per_page - $per_page;
} else {
$offset = $page;
}
$show_ad=$wpdb->get_results("SELECT * FROM advertisement WHERE active=1 ORDER BY data DESC limit $per_page offset $offset");
$total = $wpdb->get_var("SELECT count(id) from advertisement WHERE active=1 ORDER BY data DESC");
~~~~~~
<?php
echo '<div class="pagination">';
echo paginate_links(array(
'base' => add_query_arg('cpage', '%#%'),
'format' => '',
'prev_text' => __('«'),
'next_text' => __('»'),
'total' => ceil($total/$per_page),
'current' => $page
));
echo '</div>';
?>
Может быть из-за LIMIT & OFFSET, только с ограниченным количеством записей. –
Попробуйте добавить 1 к вашему смещению: '$ offset = $ page * $ per_page - $ per_page + 1;' Это больше для отладки, чем лучшее решение –
ваше значение по умолчанию '$ offset' должно быть' 0 ' – Beginner