Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
1 / 1 / 0
Регистрация: 16.07.2016
Сообщений: 186

Статистика на PHP для сайта?

26.07.2017, 11:10. Показов 2821. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
У меня есть небольшой скрипт статистики для сайта на PHP:
PHP
1
2
3
4
5
6
7
8
<?php
    $time = date('H:i:s d-m-Y');
    $ip = $_SERVER['REMOTE ADDR'];
    $mysqli = new mysqli('localhost', 'root', '', 'stat');
    $mysqli->set_charset('utf8');
    $mysqli->query("INSERT INTO visits (`ip`, `date`) VALUES ('$ip', '$time')");
    $mysqli->close();
?>
Подскажите, пожалуйста, как мне добавить еще такую фишку вроде "сколько человек зашло сегодня", вчера, месяц назад и т.д?
Не пойму как обратиться к time и что потом нужно с ним делать.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.07.2017, 11:10
Ответы с готовыми решениями:

Статистика посещений для сайта?
Ребят, дайте какой-нибудь скрипт, что-то вроде как в ВК? Какие предложения?

Статистика сайта
Хотел сделать статистику для сайта. Сделал, в принципе, но вот вышла такая вещь: Посещаемость сайта не большая, но есть. Я сделал...

Статистика Пользователей PHP
Необходимо сделать статистику по залогинившимся пользователям. Вся информация записывается в лог файл(записывается даты, браузер и имя...

8
Фрилансер
Эксперт PythonЭксперт JSЭксперт PHP
 Аватар для Azdeman
1871 / 1362 / 604
Регистрация: 12.01.2011
Сообщений: 5,470
26.07.2017, 11:32
смотрите INTERVAL в Mysql документации.
1
1 / 1 / 0
Регистрация: 16.07.2016
Сообщений: 186
26.07.2017, 11:46  [ТС]
Azdeman, прочитал. Но пока не понял как связать это с моим скриптом. Пытаюсь ставить себя практические задачи в php, пытаюсь их решать. Поможете? Это нужно сделать какой-то запрос к полю time и от него вычесть Interval? Мне нужно получить кто заходил на сайт за последние сутки (1 день)
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
26.07.2017, 11:57
Цитата Сообщение от mininvit Посмотреть сообщение
$time = date('H:i:s d-m-Y');
Лучше стандартный формат Y-m-d H:i:s и тип данных datetime, будет проще со встроенными функциями.

Цитата Сообщение от mininvit Посмотреть сообщение
сколько человек зашло сегодня
http://www.sql.ru/forum/771389... yac-nedelu
1
1 / 1 / 0
Регистрация: 16.07.2016
Сообщений: 186
26.07.2017, 12:07  [ТС]
Jodah,
Цитата Сообщение от Jodah Посмотреть сообщение
Лучше стандартный формат Y-m-d H:i:s и тип данных datetime, будет проще со встроенными функциями.
То есть переменную $time убрать, а поставить в таблице тип datetime?
Вот взял sql запрос, по любому будет косяк. Таблица - visits, в ней 3 поля (id, ip, time)
PHP
1
print_r($mysqli->query("SELECT `id` FROM visits WHERE month(real_time) = month(now()) and year(real_time) = year(now())"));
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
26.07.2017, 12:22
mininvit, нужно просто гуглить подходящие функции, для каждой задачи куча вариантов решений.

Чтобы получить количество уникальных посетителей за сегодня, записываем так:
PHP
1
$mysqli->query("INSERT INTO visits (`ip`, `date`) VALUES ('$ip', NOW())");
Получить можно так:

SQL
1
SELECT COUNT(DISTINCT `ip`) FROM `visits` WHERE DATE(`date`) = CURDATE()
1
1 / 1 / 0
Регистрация: 16.07.2016
Сообщений: 186
26.07.2017, 12:36  [ТС]
Jodah, а что нужно сделать, чтобы получить за другое время:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
    $mysqli = new mysqli("localhost", "root", "", "stat"); // Соединяемся с базой
    $mysqli->set_charset("utf8");
    $today = $mysqli->query("SELECT COUNT(DISTINCT `ip`) FROM `visits` WHERE DATE(`date`) = CURDATE()");
    $yesterday = $mysqli->query("SELECT COUNT(DISTINCT `ip`) FROM `visits` WHERE DATE(`date`) = CURDATE()");
    $week = $mysqli->query("SELECT COUNT(DISTINCT `ip`) FROM `visits` WHERE DATE(`date`) = CURDATE()");
    $mysqli->close(); // Закрываем соединение
?>
<p>
    За сегодня зашло на сайт: <?=$today?> человек
</p>
<p>
    За вчера зашло на сайт: <?=$yesterday?> человек
</p>
<p>
    За неделю зашло на сайт: <?=$week?> человек
</p>
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
26.07.2017, 12:44
mininvit, я же говорю, гуглить.
Для вчерашних записей вместо CURDATE() пишем CURDATE() - 1.
Для записей за месяц гуглить interval, вот пример:
http://onfor.info/mysql-vybork... u-mesyats/
1
1 / 1 / 0
Регистрация: 16.07.2016
Сообщений: 186
26.07.2017, 12:48  [ТС]
Jodah, по-моему я код неправильно написал, можете указать ошибки? Почему то не выводятся значения переменных
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.07.2017, 12:48
Помогаю со студенческими работами здесь

Статистика работы php
Добрый вечер, уважаемые товарищи подскажите пожалуйста есть ли какие классы или фреймы или софт(возможно в *nix) для отображения статистики...

Опрос для сайта в PHP
Всем привет! Ищу скрипт опрос(голосование) для сайта PHP. В интернете много, но мне нужно с конкретными функциями: 1) Можно было...

Панель для сайта на php
Привет ребят, т.к. я начинающий, многое не умею и не многое получается. Сейчас делаю мобильный сайт на тему торговли. Всё простенько и...

плеер для сайта на php
Здравствуйте. Подскажите, пожалуйста, как можно самостоятельно написать плеер для сайта. Сайт на joomla. Интересует написание как видео,...

ЧПУ для сайта на php
Всем привет есть станицы вида /view_game.php?id=100. Как можно изменить и перенаправить на новый url вида game/nazvanie_igri.html. Можно ли...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru