gpt4 book ai didi

php - 使用过滤器时如何对所有行求和

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

我已经阅读了许多有关如何使用 footerCallback 对 MySQL 表的所有行求和的 jQuery Datatables 示例,但是当我使用每个记录时,我可以获得列的总和。页面过滤器。在 Footer callback example ,他们展示了一个演示,可以做到这一点,这里是代码:

$(document).ready(function() {
$('#example').dataTable( {
"footerCallback": function ( row, data, start, end, display ) {
var api = this.api(), data;

// Remove the formatting to get integer data for summation
var intVal = function ( i ) {
return typeof i === 'string' ?
i.replace(/[\$,]/g, '')*1 :
typeof i === 'number' ?
i : 0;
};

// Total over all pages
data = api.column( 4 ).data();
total = data.length ?
data.reduce( function (a, b) {
return intVal(a) + intVal(b);
} ) :
0;

// Total over this page
data = api.column( 4, { page: 'current'} ).data();
pageTotal = data.length ?
data.reduce( function (a, b) {
return intVal(a) + intVal(b);
} ) :
0;

// Update footer
$( api.column( 4 ).footer() ).html(
'$'+pageTotal +' ( $'+ total +' total)'
);
}
} );
} );

但是当我在我的 PHP 脚本中应用时,当我的每页记录过滤器设置为 10 时,total 给了我相同数量的 pageTotal,如果我更改为 50,它会给我一个新的总计,但是在示例中,当过滤器位于 10,它显示表中所有记录的总和。我已经研究了两天了,有人可以给我提示吗?

最佳答案

本页总计

    data = api.column( 4, {filter:'applied'} ).data();
pageTotal = data.length ?
data.reduce( function (a, b) {
return intVal(a) + intVal(b);
} ) :
0;

关于php - 使用过滤器时如何对所有行求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31544314/

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