@darkersoul
web - программист

Почему плагин wpDataTables перестает считать суммы столбцов, если их больше определенного числа?

Есть таблица, В которой много столбцов, более 30. Есть промежуточные столбцы Итого, в который идет горизонтальный подсчет, и итоговая строка снизу, в которой идет вертикальный подсчет. Все было нормально, пока столбцов в формулах суммирования в общей сумме стало больше 15-20. Просто перестал считать, выдает нули, везде все точно проверил - ошибок нет. Убираешь из расчета несколько столюцов - все нормально. Добавляешь - опять нули. Может кто сталкивался? Последняя версия wpDataTables. Никаких других плагинов нет. Пробовал уже по всякому. И ничего.

Формулы просто суммируют.

Первый столбец Итого: wdtcolumn1+wdtcolumn2+wdtcolumn3+wdtcolumn4+wdtcolumn11+wdtcolumn12+wdtcolumn13+wdtcolumn14+wdtcolumn15+wdtcolumn16+wdtcolumn17+wdtcolumn18+wdtcolumn19+wdtcolumn20+wdtcolumn21+wdtcolumn22+wdtcolumn23+wdtcolumn24+wdtcolumn25

Второй столбец Итого:
wdtcolumn5+wdtcolumn6+wdtcolumn7+wdtcolumn26+wdtcolumn27+wdtcolumn28+wdtcolumn29+wdtcolumn30

Третий столбец итого:
wdtcolumn8+wdtcolumn9+wdtcolumn10+wdtcolumn31+wdtcolumn32+wdtcolumn33

И во всех столбцах - в обычных и в Итого включено Рассчитать итог:
66f0551196636440492189.png

Данные в таблице можно потестить:
ссылка
test
test12345

UPD
В логах нашел ошибку в запросе mysql, это значит слишком много полей в расчете и что-то надо сделать или с формулами или с бд?

[22-Sep-2024 18:02:25 UTC] WordPress database error You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'a)
                                                 AS `formula_2`, SUM(`wdtcolu' at line 8 for query SELECT SUM(  IF(wdtcolumn8 IS NULL, 0,wdtcolumn8) +  IF(wdtcolumn9 IS NULL, 0,wdtcolumn9) +  IF(wdtcolumn10 IS NULL, 0,wdtcolumn10) +  IF(wdtcolumn31 IS NULL, 0,wdtcolumn31) +  IF(wdtcolumn32 IS NULL, 0,wdtcolumn32) +  IF(wdtcolumn33 IS NULL, 0,wdtcolumn33) )
                                                 AS `formula_3`, SUM(`wdtcolumn33`) 
                                                     AS `wdtcolumn33`, SUM(`wdtcolumn32`) 
                                                     AS `wdtcolumn32`, SUM(`wdtcolumn31`) 
                                                     AS `wdtcolumn31`, SUM(`wdtcolumn10`) 
                                                     AS `wdtcolumn10`, SUM(`wdtcolumn9`) 
                                                     AS `wdtcolumn9`, SUM(`wdtcolumn8`) 
                                                     AS `wdtcolumn8`, SUM(  IF(wdtcolumn5 IS NULL, 0,wdtcolumn5) +  IF(wdtcolumn6 IS NULL, 0,wdtcolumn6) +  IF(wdtcolumn7 IS NULL, 0,wdtcolumn7) +  IF(wdtcolumn26 IS NULL, 0,wdtcolumn26) +  IF(wdtcolumn27 IS NULL, 0,wdtcolumn27) +  IF(wdtcolumn28 IS NULL, 0,wdtcolumn28) +  IF(wdtcolumn29 IS NULL, 0,wdtcolumn29) +  IF(wdtcolumn2 IS NULL, 0,wdtcolumn2) a)
                                                 AS `formula_2`, SUM(`wdtcolumn30`) 
                                                     AS `wdtcolumn30`, SUM(`wdtcolumn29`) 
                                                     AS `wdtcolumn29`, SUM(`wdtcolumn28`) 
                                                     AS `wdtcolumn28`, SUM(`wdtcolumn27`) 
                                                     AS `wdtcolumn27`, SUM(`wdtcolumn26`) 
                                                     AS `wdtcolumn26`, SUM(`wdtcolumn7`) 
                                                     AS `wdtcolumn7`, SUM(`wdtcolumn6`) 
                                                     AS `wdtcolumn6`, SUM(`wdtcolumn5`) 
                                                     AS `wdtcolumn5`, SUM(  IF(wdtcolumn1 IS NULL, 0,wdtcolumn1) +  IF(wdtcolumn2 IS NULL, 0,wdtcolumn2) +  IF(wdtcolumn3 IS NULL, 0,wdtcolumn3) +  IF(wdtcolumn4 IS NULL, 0,wdtcolumn4) +  IF(wdtcolumn11 IS NULL, 0,wdtcolumn11) +  IF(wdtcolumn12 IS NULL, 0,wdtcolumn12) +  IF(wdtcolumn13 IS NULL, 0,wdtcolumn13) +  IF(wdtcolumn14 IS NULL, 0,wdtcolumn14) +  IF(wdtcolumn15 IS NULL, 0,wdtcolumn15) +  IF(wdtcolumn1 IS NULL, 0,wdtcolumn1) a+  IF(wdtcolumn1 IS NULL, 0,wdtcolumn1) b+  IF(wdtcolumn1 IS NULL, 0,wdtcolumn1) c+  IF(wdtcolumn1 IS NULL, 0,wdtcolumn1) d+  IF(wdtcolumn1 IS NULL, 0,wdtcolumn1) e+  IF(wdtcolumn1 IS NULL, 0,wdtcolumn1) f+  IF(wdtcolumn1 IS NULL, 0,wdtcolumn1) g+  IF(wdtcolumn1 IS NULL, 0,wdtcolumn1) h+  IF(wdtcolumn1 IS NULL, 0,wdtcolumn1) i+  IF(wdtcolumn1 IS NULL, 0,wdtcolumn1) j)
                                                 AS `formula_1`, SUM(`wdtcolumn25`) 
                                                     AS `wdtcolumn25`, SUM(`wdtcolumn24`) 
                                                     AS `wdtcolumn24`, SUM(`wdtcolumn23`) 
                                                     AS `wdtcolumn23`, SUM(`wdtcolumn22`) 
                                                     AS `wdtcolumn22`, SUM(`wdtcolumn21`) 
                                                     AS `wdtcolumn21`, SUM(`wdtcolumn20`) 
                                                     AS `wdtcolumn20`, SUM(`wdtcolumn19`) 
                                                     AS `wdtcolumn19`, SUM(`wdtcolumn18`) 
                                                     AS `wdtcolumn18`, SUM(`wdtcolumn17`) 
                                                     AS `wdtcolumn17`, SUM(`wdtcolumn16`) 
                                                     AS `wdtcolumn16`, SUM(`wdtcolumn15`) 
                                                     AS `wdtcolumn15`, SUM(`wdtcolumn14`) 
                                                     AS `wdtcolumn14`, SUM(`wdtcolumn13`) 
                                                     AS `wdtcolumn13`, SUM(`wdtcolumn12`) 
                                                     AS `wdtcolumn12`, SUM(`wdtcolumn11`) 
                                                     AS `wdtcolumn11`, SUM(`wdtcolumn4`) 
                                                     AS `wdtcolumn4`, SUM(`wdtcolumn3`) 
                                                     AS `wdtcolumn3`, SUM(`wdtcolumn2`) 
                                                     AS `wdtcolumn2`, SUM(`wdtcolumn1`) 
                                                     AS `wdtcolumn1`  FROM wp_wpdatatable_2 made by do_action('wp_ajax_get_wdtable'), WP_Hook->do_action, WP_Hook->apply_filters, call_user_func_array, wdtGetAjaxData, WPDataTable->queryBasedConstruct
[22-Sep-2024 18:02:25 UTC] PHP Warning:  Trying to access array offset on null in /home/e/etern1ty/clear.etern1ty.beget.tech/public_html/wp-content/plugins/wpdatatables/source/class.wpdatatable.php on line 2965
[22-Sep-2024 18:02:25 UTC] PHP Warning:  Undefined array key "wdtcolumn2" in /home/e/etern1ty/clear.etern1ty.beget.tech/public_html/wp-content/plugins/wpdatatables/source/class.wpdatatable.php on line 2965
...
  • Вопрос задан
  • 34 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы