KOTOFF.NET
  • Главная
  • Пользователи
  • Контакты
  • Статистика
  • Правила
  • О нас
  • Вход / Регистрация

Делаем отображение статистики за день, неделю месяц и все время PHP простой и удобный способ

Статьи / PHP



Перед нами стоит задача сформировать статистику платежей за текущий день, неделю, месяц и все время, предварительно дату платежа мы записываем в бд в формате UnixTime, но если дата сохранена в человеко-понятном формате, этот способ так же подходит

Создаем цикл для перебора всех платежей, если платежей очень много, можно ограничиться датой за пару месяцев (date > time()-5259486) 5259486 - 2 месяца в Unixtime формате

$result    = $db->query("SELECT * FROM pay WHERE status = 2"); // Статус - 2 успешный платеж, можно формировать по своим данным в таблицах


while($row = $result->fetch_assoc()) { // Запускаем цикл для переборки данных

    $u_balance = $u_balance + $row['sum']; // За все время

    $you_date_day = date('d.m.Y', $row['date']); // Дата с бд
    $now_date_day = date('d.m.Y'); // Текущая дата
    $you_date_unix_day = strtotime($you_date_day);
    $now_date_unix_day = strtotime($now_date_day);

    $you_date_week = date('W.m.Y', $row['date']); // Дата с бд
    $now_date_week = date('W.m.Y'); // Текущая дата
    $you_date_unix_week = strtotime($you_date_week);
    $now_date_unix_week = strtotime($now_date_week);

    $you_date_month = date('M.Y', $row['date']); // Дата с бд
    $now_date_month = date('M.Y'); // Текущая дата
    $you_date_unix_month = strtotime($you_date_month);
    $now_date_unix_month = strtotime($now_date_month);

    if ($you_date_unix_day == $now_date_unix_day){ // За текущий день
        $u_balance_day = $u_balance_day + $row['sum'];
    }
    if ($you_date_unix_week == $now_date_unix_week){ // Зе текущую неделю
        $u_balance_week = $u_balance_week + $row['sum'];
    }
    if ($you_date_unix_month == $now_date_unix_month){ // За текущий месяц
        $u_balance_month = $u_balance_month + $row['sum'];
    }

}

Итог:

Разбор данных 

    $you_date_day = date('d.m.Y', $row['date']); // Дата с бд
    $now_date_day = date('d.m.Y'); // Текущая дата


Формат дат должен быть аналогичный, в нашем случе вытягиваем с бд дату в UnixTime, если она хранится иначе, ее можно сразу использовать в функции strtotime(), таким образом мы получаем диапазон Unixtime даты и благодаря этому можем провести подсчет за текущий день таким образом:
    if ($you_date_unix_day == $now_date_unix_day){ // За текущий день
        $u_balance_day = $u_balance_day + $row['sum'];
    }

Соответственно с другими примерами работает все точно так же

    $you_date_week = date('W.m.Y', $row['date']); // дата за текущую неделю
    $now_date_week = date('W.m.Y'); 

Если сегодня у нас воскресенье, мы получим такую дату: 06.02.2021, почему 06?
00 - Понедельник
01 - Вторник
03 ..
04 ..
05 ..
06 - Воскресенье 

Таким образом мы сформировали статистику на нашем сайте.
  • Сергей Котов
  • 14.02.2021
  • 7 160
  • 1
Готовый обработчик платежей ANYPAY.io для ботов ВК и сайтов
Готовый обработчик платежей ANYPAY.io для ботов ВК и сайтов
22-09-2020, 22:15, PHP
Простой игровой бот для ВК, создаем игру для Вконтакте + исходники! | Часть 1
Простой игровой бот для ВК, создаем игру для Вконтакте + исходники! | Часть 1
19-04-2020, 22:05, PHP
Создание динамической картинки со своим текстом и изображением с помощью PHP и использованием Imagick
Создание динамической картинки со своим текстом и изображением с помощью PHP и использованием Imagick
14-01-2021, 15:17, Статьи / PHP
Счетчик репортов с сохранением для CRMP/SAMP + исходники
Счетчик репортов с сохранением для CRMP/SAMP + исходники
15-02-2019, 00:11, Программы
  1. Boop

    Boop Гость 2 октября 2021 20:00

    Не работает статистика за неделю, выводит как за всё время
{login}

Твой комментарий..

Заказывай!
Разработка ботов на заказ, любой сложности, обращаться:
 VK KOTOFF.net - Сообщество, в личные сообщения или по контактам указанным там 
 mail: [email protected]

Рекламный блок
  • Новости
  • Платная категория
  • Блог
  • Игры
  • Обновления
  • Программы
  • Статьи
    • PHP
    • Python
    • JS
  • Дизайн
    • PSD исходники
  • DLE
    • Шаблоны
    • Модули
    • Хаки
  • Магазин
    • Скрипты
Комментарии
Система комментариев на PHP
<Script>Alert("hello");</Script>
Генерация всевозможных комбинаций из набора символов — комбинаторика в Python (itertools)
Qwertyuiopasdfghjklzxcvbnm 1234567890
Система комментариев на PHP
Полезная статья
Создание простого Telegram-бота с клавиатурой и inline-кнопками [Часть 2]
Класс, хорошая тема
Динамическая обложка для группы ВК, последний подписчик, топ комментатор и прочее
Как отключить вывод результата cron в папку modules/cron в Open Server? Крон запускает несколько
Все комментарии..
Полный список последних комментариев
Лучшие новости
Всего публикаций: 115
Добавлено за сутки: +0
Записей в блоге: 1
Добавлено за сутки: +0
Комментариев: 938
Добавлено за сутки: +0
Пользователей: 4125
Добавлено за сутки: +0
Полная статистика..
Подробная статистика сайта
Loading...

Нашли ошибку?
Вы можете сообщить об этом администрации.
Выделив текст нажмите CTRL+Enter

Полезные ссылки
  • О проекте
  • Наши контакты
  • Администрация
  • Рекламные материалы
  • Идеи и предложения
  • Ответы на вопросы
Информация
  • Условия сделки
  • Способы оплаты
  • Поддержка / F.A.Q
  • Онлайн документация
  • Статистика сайта
  • Список пользователей
Услуги/Работа
  • Разработка ботов ВК
  • Обновление проекта
  • Консультация/поддержка
KOTOFF.net

Copyright © Footer 2019-2023. All right reserved.
KOTOFF.net - Уроки по PHP, SQL, IT новости
Быстрый вход

Используйте социальные сети для быстрой регистрации и авторизации.

Google
ВКонтакте
Яндекс
Mail.ru
Создать аккаунт / Регистрация
Авторизация

Я забыл свой пароль