Zero108 Опубликовано 18 сентября, 2022 Поделиться Опубликовано 18 сентября, 2022 (изменено) Как для дефолтных виджетов статистики посчитать количество форумов в Forums и количество категорий в Files? Примеры из других виджетов: $stats['total_videos'] = \IPS\Db::i()->select( 'COUNT(*)', 'videos_cat', array( 'file_open=?', 1 ) )->first(); $stats['totalAlbums'] = \IPS\gallery\Album\Item::databaseTableCount( TRUE ); Планирую использовать тут: /applications/forums/widgets/forumStatistics.php /applications/downloads/widgets/downloadStats.php Изменено 18 сентября, 2022 пользователем Zero108 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Exception Опубликовано 18 сентября, 2022 Поделиться Опубликовано 18 сентября, 2022 2 часа назад, Zero108 сказал: Как для дефолтных виджетов статистики посчитать количество форумов в Forums и количество категорий в Files? Примеры из других виджетов: $stats['total_videos'] = \IPS\Db::i()->select( 'COUNT(*)', 'videos_cat', array( 'file_open=?', 1 ) )->first(); $stats['totalAlbums'] = \IPS\gallery\Album\Item::databaseTableCount( TRUE ); Планирую использовать тут: /applications/forums/widgets/forumStatistics.php /applications/downloads/widgets/downloadStats.php в запросе к бд изменить на таблицу с форумами и можно без where Zero108 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Zero108 Опубликовано 19 сентября, 2022 Автор Поделиться Опубликовано 19 сентября, 2022 (изменено) ZIKURIK Еще подскажите, пожалуйста, как для приложения Pages подсчитать сумму всех просмотров всех записей (статей)? Как заменить cms_custom_database_3 на универсальное значение в запросе? Ведь на других сайтах это значение может быть cms_custom_database_4 и т.п. Или же баз данных может быть несколько. Есть какой-то универсальный несложный способ? Что-то вроде, но учитывая все возможные имена таблицы баз данных, которые пользователи могут создать (cms_custom_database_x) : $stats['total_views'] = \IPS\Db::i()->select( "SUM(record_views)", 'cms_custom_database_3', array( 'record_approved=1' ) )->first(); Изменено 19 сентября, 2022 пользователем Zero108 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Exception Опубликовано 22 сентября, 2022 Поделиться Опубликовано 22 сентября, 2022 (изменено) В 19.09.2022 в 11:30, Zero108 сказал: ZIKURIK Еще подскажите, пожалуйста, как для приложения Pages подсчитать сумму всех просмотров всех записей (статей)? Как заменить cms_custom_database_3 на универсальное значение в запросе? Ведь на других сайтах это значение может быть cms_custom_database_4 и т.п. Или же баз данных может быть несколько. Есть какой-то универсальный несложный способ? Что-то вроде, но учитывая все возможные имена таблицы баз данных, которые пользователи могут создать (cms_custom_database_x) : $stats['total_views'] = \IPS\Db::i()->select( "SUM(record_views)", 'cms_custom_database_3', array( 'record_approved=1' ) )->first(); Не проверял но должно работать foreach ( \IPS\cms\Databases::databases() as $db ) { $dbNames .= !isset($dbNames) ? 'cms_custom_database_'.$db->id : '.cms_custom_database_'.$db->id; } $stats['total_views'] = \IPS\Db::i()->select( "SUM(record_views)", $dbNames, array( 'record_approved=1' ) )->first(); Изменено 22 сентября, 2022 пользователем ZIKURIK Zero108 и Xontero 2 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Exception Опубликовано 22 сентября, 2022 Поделиться Опубликовано 22 сентября, 2022 4 часа назад, ZIKURIK сказал: Не проверял но должно работать foreach ( \IPS\cms\Databases::databases() as $db ) { $dbNames .= !isset($dbNames) ? 'cms_custom_database_'.$db->id : '.cms_custom_database_'.$db->id; } $stats['total_views'] = \IPS\Db::i()->select( "SUM(record_views)", $dbNames, array( 'record_approved=1' ) )->first(); Или так, еще меньше кода: foreach ( \IPS\cms\Databases::databases() as $db ) { $dbNames[] = 'cms_custom_database_'.$db->id; } $stats['total_views'] = \IPS\Db::i()->select( "SUM(record_views)", $dbNames, array( 'record_approved=1' ) )->first(); Zero108 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.