Ich habe ein kleines Problem mit der Anzeige von Daten aus der Datenbank. Get_results zeigt alle Datensätze aus der Datenbank mit Ausnahme der zuletzt hinzugefügten. Ich habe auch Funktionen für die Paginierung und wenn ich es lösche, dann zeigt alles richtig an.get_results zeigt nicht den letzten Datensatz
Code:
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>';
?>
Kann wegen LIMIT & OFFSET, nur begrenzte Datensätze angezeigt werden. –
Probieren Sie es aus, indem Sie 1 zu Ihrem Offset hinzufügen: '$ offset = $ page * $ per_page - $ per_page + 1;' Dies ist mehr zu debuggen als die beste Lösung –
Ihr Standardwert von $ offset muss '0 sein ' – Beginner