gpt4 book ai didi

php - get_results 不显示最后一条记录

转载 作者:行者123 更新时间:2023-11-29 11:08:24 24 4
gpt4 key购买 nike

我在显示数据库中的数据时遇到了一些问题。 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' => __('&laquo;'),
'next_text' => __('&raquo;'),
'total' => ceil($total / $per_page),
'current' => $page
));
echo '</div>';
?>

最佳答案

它不显示最后一条记录,因为第一行以索引:0开头

EI:如果你当前的页面是1,但是这段代码中的偏移量是1

offset : 1 which mean starts at index 1 and index 0 will not be included

row 1: 0 - not
row 2: 1 - displayed
row 3: 2 - displayed
row 4: 3 - displayed
row 5: 4 - displayed
row 6: 5 - displayed
row 7: 6 - displayed
row 8: 7 - displayed
row 9: 8 - displayed
row 10: 9 - displayed
row 11: 10 - displayed

要解决这个问题,请将偏移量减去 1

$per_page = 10;
$page = isset( $_GET['cpage'] ) ? abs( (int) $_GET['cpage'] ) : 1;
if ($page > 1) {
$offset = $page * $per_page - $per_page;
} else {
$offset = $page;
}
$offset = $offset - 1;

关于php - get_results 不显示最后一条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41015525/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com