Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Новых пользователей за 24 часа

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Нужно, чтобы выводилось в статистике количество новых пользователей за 24 часа.
Newbee
Отправлено: 21 Мая, 2011 - 23:54:21
Post Id


Новичок


Покинул форум
Сообщений всего: 44
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Всем доброго времени суток ребята!
Нужно, чтобы выводилось в статистике количество новых пользователей за 24 часа, после чего в статистике снова все начиналось сначала, то есть на следующий день статистика новых пользователей за 24 часа начиналась с нуля. Думаю, объяснил более менее чего хочу достичь.
Прошу помочь это воплотить в реальность. Можете рассказать саму логику создания и/или написать на примере, буду благодарен!
 
 Top
DeepVarvar Супермодератор
Отправлено: 22 Мая, 2011 - 00:08:36
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




CODE (SQL):
скопировать код в буфер обмена
  1. SELECT COUNT(*) newusersofday FROM users WHERE DATE_SUB(CURDATE(),INTERVAL 1 DAY) < regdate
 
 Top
Newbee
Отправлено: 22 Мая, 2011 - 08:45:35
Post Id


Новичок


Покинул форум
Сообщений всего: 44
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




А можно пожалуйста разъяснить этот программный код.
 
 Top
Ejas Tower
Отправлено: 22 Мая, 2011 - 09:00:54
Post Id



Гость


Покинул форум
Сообщений всего: 68
Дата рег-ции: Май 2011  
Откуда: Уфа


Помог: 0 раз(а)




Newbee пишет:
А можно пожалуйста разъяснить этот программный код.

Тут не сложно. Просто выполняется запрос в базу данных о количестве записей - COUNT(*) newusersofday в таблице users с учётом текущего времени с интервалом в сутки.
 
 Top
Newbee
Отправлено: 23 Мая, 2011 - 10:50:32
Post Id


Новичок


Покинул форум
Сообщений всего: 44
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Ejas Tower пишет:
Тут не сложно. Просто выполняется запрос в базу данных о количестве записей - COUNT(*) newusersofday в таблице users с учётом текущего времени с интервалом в сутки.



Благодарю!
(Добавление)
А как вывести числовое значение количества пользователей за 24 часа на сайт? Просто я делаю так.
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. $result = mysql_query(SELECT COUNT(*) newusersofday FROM users WHERE DATE_SUB(CURDATE(),INTERVAL 1 DAY) < regdate);
  3. $stat = mysql_fetch_array($result);
  4.  
  5. echo $stat[0];
  6.  


Так не получается.

(Отредактировано автором: 23 Мая, 2011 - 12:06:33)

 
 Top
DeepVarvar Супермодератор
Отправлено: 23 Мая, 2011 - 12:46:00
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




PHP:
скопировать код в буфер обмена
  1. $stat = mysql_fetch_assoc($result);
  2. echo $stat[0]['newusersofday'];

(Добавление)
А, ну да... Даю весь код (ато еще 100 вопросов вылезет):
PHP:
скопировать код в буфер обмена
  1. $result = mysql_query("SELECT COUNT(*) newusersofday FROM users WHERE DATE_SUB(CURDATE(),INTERVAL 1 DAY) < regdate");
  2. $stat = mysql_fetch_assoc($result);
  3. echo $stat[0]['newusersofday'];

И все это при условии что в таблице пользователей есть поле "regdate" типа DATETIME
 
 Top
Newbee
Отправлено: 23 Мая, 2011 - 13:41:58
Post Id


Новичок


Покинул форум
Сообщений всего: 44
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




newusersofday - это название базы данных
users - это название таблицы базы данных
В поле regdate типа DATETIME нужно что-то вставлять или оставить его пустым ?
И последний вопрос, почему именно так echo $stat[0]['newusersofday'];, а не так echo $stat[0] ?



Вроде все получилось, я заменил accoc на array, чтобы вывести численное значение.

(Отредактировано автором: 23 Мая, 2011 - 13:53:02)

 
 Top
DeepVarvar Супермодератор
Отправлено: 23 Мая, 2011 - 17:12:09
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




newusersofday - это название алиаса от результата подсчета (для удобства). Это слово ничего общего с именем базы данных не имеет.

users - это название таблицы базы данных.

В поле regdate типа DATETIME при регистрации нового пользователя нужно вставлять дату регистрации.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB