Opened 2 years ago

Closed 9 days ago

Last modified 9 days ago

#1265 closed дефект (готово)

Число отображаемых записей не соответствует указанному в "шапке" таблицы

Reported by: alx Owned by: Denis_N
Priority: major Component: БД изделий АДС
Keywords: Cc:

Description

В r347/base вывел список успешно протестированных плат VE-01. В "шапке" таблицы сказано, что найдено 123 записи. Установил вывод по 20 записей на странице. В результате в "подвале" таблицы, как и ожидал, вижу 7 страниц. После этого открываю страницу 7 (последнюю), но вместо ожидаемых трех записей вижу не ней... 8 записей!


Attachments (1)

ss1.jpg (158.3 KB ) - added by alx 2 years ago.

Download all attachments as: .zip

Change History (4)

by alx, 2 years ago

Attachment: ss1.jpg added

comment:1 by alx, 2 years ago

Сделанный вручную запрос в БД возвращает 123 записи.

comment:2 by Denis_N, 9 days ago

Resolution: готово
Status: newclosed

Причина в r347/base была в рассинхроне: “шапка” считала уникальные изделия (COUNT(DISTINCT products.uid)), а основной запрос при фильтрах по истории мог выводить строки после JOIN history. Если у одной платы было несколько подходящих записей истории, она считалась один раз, но в таблице могла появиться несколько раз. Поэтому 123 найденных изделия могли превращаться в 128 строк вывода, и на последней странице вместо 3 строк появлялось 8.

r371/base - Главная была поправлена, по умолчанию стали выбраны столбцы из products, проверен вывод при комбинировании таблиц и фильтрах.

r402/base - Главная была полностью переработана, старый механизм смешанного вывода заменен.

В текущей версии r584/base история сначала сводится к SELECT DISTINCT UID, затем таблица изделий считает и выводит строки из products, поэтому счетчик и пагинация работают в одной системе: main_backend.php (line 260), main_backend.php (line 398).

Закрываю, как исправленный

in reply to:  2 comment:3 by alx, 9 days ago

Replying to Denis_N:

r402/base - Главная была полностью переработана, старый механизм смешанного вывода заменен.

:) :) :) Я сначала вместо "смешанного вывода" прочитал "смешного вывода"... :)

А потом подумал: "когда поиск возвращает одно и то же несколько раз - это в каком-то смысле, действиетльно, смешно"... :)

Note: See TracTickets for help on using tickets.