Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) определение, который был час :) / 25 сообщений из 39, страница 1 из 2
15.01.2006, 20:06
    #33483760
lissyara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) определение, который был час :)
Стругаю скриптик, который будет разбирать данные из таблицы, в которой
ведётся статитстика посещения сайта - кто приходил ,откуда и во сколько и на
какую страницу.
Время хранится в сеундах - time()
==========
а собстно вопрос - как по этой метке узнать ,что было первое число прошлого
месяца, стока-то часов? Или придётся делать в обратную сторону - зная дату и
час вычислять метку начала и конца часа, и по этому промежутку делать выбор?

Примерно так. Структуры начальной и окончательной таблиц прилагаю. Мож кто
что подскажет...
исходная:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
CREATE TABLE `counter_segodnya` (
  `id_zapisi` int( 15 ) NOT NULL auto_increment,
  `chislo` date NOT NULL default '0000-00-00',
  `vremya` time NOT NULL default '00:00:00',
  `vizit_timestamp` int( 16 ) NOT NULL default '0',
  `random_for_jaba` varchar( 64 ) collate cp1251_bin NOT NULL default '',
  `ip` varchar( 15 ) collate cp1251_bin NOT NULL default '',
  `page` int( 5 ) NOT NULL default '0',
  `user_agent` text collate cp1251_bin NOT NULL,
  `referer` text collate cp1251_bin NOT NULL,
  `screen_width` int( 11 ) default NULL,
  `screen_height` int( 11 ) default NULL,
  `user_color` int( 11 ) default NULL,
  PRIMARY KEY  (`id_zapisi`),
  KEY `random_for_jaba` (`random_for_jaba`),
  KEY `vizit_timestamp` (`vizit_timestamp`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=cp1251_bin 
AUTO_INCREMENT= 26122  ;

окончательная
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
CREATE TABLE `table_all_stat_of_site` (
  `unic_id` int( 11 ) NOT NULL auto_increment,
  `year_field` int( 11 ) default '0',
  `month_field` int( 11 ) default '0',
  `date_field` int( 11 ) default '0',
  `hour_field` int( 11 ) default '0',
  `all_users` int( 11 ) default '0',
  `yandex` int( 11 ) default '0',
  `rambler` int( 11 ) default '0',
  `google` int( 11 ) default '0',
  `mail_ru` int( 11 ) default '0',
  `yahoo` int( 11 ) default '0',
  `msn` int( 11 ) default '0',
  `other_robots` int( 11 ) default '0',
  `user_color` int( 11 ) default '0',
  `640x480` int( 11 ) default '0',
  `800x600` int( 11 ) default '0',
  `1024x768` int( 11 ) default '0',
  `1280x1024` int( 11 ) default '0',
  `1600x1200` int( 11 ) default '0',
  `other_screen` int( 11 ) default '0',
  `java_disabled` int( 11 ) NOT NULL default '0',
  PRIMARY KEY  (`unic_id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=cp1251_bin COMMENT='Общая 
статистика сайта' AUTO_INCREMENT= 1  ;




Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
15.01.2006, 20:09
    #33483762
Sarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) определение, который был час :)
В пхп есть функции для преобразования временной метки UNIX в дату. Покопайся в соответствующем разделе мануала на http://php.net
...
Рейтинг: 0 / 0
15.01.2006, 20:28
    #33483771
lissyara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) определение, который был час :)
это-то понятно...

Хотя... Пару вложенных циклов - в одном по суткам, в другом по часам
перебрать...


Хорошо. Переформулирую. Как точно определить метку начала прошлого месяца?


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
16.01.2006, 00:23
    #33483927
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) определение, который был час :)
...
Рейтинг: 0 / 0
16.01.2006, 01:02
    #33483936
lissyara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) определение, который был час :)
Пасиб! Хорошая статья.
Тока форматирование в ней убогое - не у всех же разрешение экрана большое



Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
16.01.2006, 08:04
    #33484056
Sarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) определение, который был час :)
lissyara
Пасиб! Хорошая статья.
Тока форматирование в ней убогое - не у всех же разрешение экрана большое



Posted via ActualForum NNTP Server 1.3
А переделать под себя?
...
Рейтинг: 0 / 0
16.01.2006, 10:01
    #33484189
lissyara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) определение, который был час :)
В смысле? Если оно шире экрана, чё я сделаю?
У меня 1024x768 - больше ставить - глаза жалко, не казённые.
...
Рейтинг: 0 / 0
16.01.2006, 23:36
    #33486066
lissyara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) определение, который был час :)
интересная идея меня посетила.... Можно и остальное также настругать...
Код: plaintext
1.
// ищем дату, когда `сегодня` началось :)
$segodnya = time() - ((date('H',time()))* 3600 ) - ((date('i',time()))* 60 ) - (date('s',time()));
...
Рейтинг: 0 / 0
17.01.2006, 07:00
    #33486163
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) определение, который был час :)
Я сильно подозреваю, что всё это можно сделать в одном запросе через джойн и функции работы с датой и временем. Ты бы только написал, что же на самом деле тебе надо получить?
...
Рейтинг: 0 / 0
17.01.2006, 09:03
    #33486281
lissyara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) определение, который был час :)
таблицу надо разбить на куски по дням и по часам....
По полю где время в тимештамп.

==========
щас иду от противного - делаю массив в памяти - где уже есть все числа и
часы прошлого месяца, буду построчно перебирать БД и заполнять массив...
Видимо так...


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
17.01.2006, 09:12
    #33486296
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) определение, который был час :)
...
Рейтинг: 0 / 0
17.01.2006, 09:14
    #33486303
lissyara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) определение, который был час :)
Это я знаю. Периодически даже пользуюсь.

Вы предлагаете по запросу на каждую строку делать?
На php не быстрей получится?


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
17.01.2006, 09:17
    #33486311
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) определение, который был час :)
Зачем?
Скажи уже нормально, что ты хочешь в результате получить?
Например, выборку того-то и того-то, с группировкой по часам и дням.
И кстати, чем тебя для сбора статистики awstats не устраивает?
...
Рейтинг: 0 / 0
17.01.2006, 09:19
    #33486318
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) определение, который был час :)
Кстати, к вопросу о том, что быстрее, а что нет.
СУБД предназначена для хранения и выборки данных, PHP, конечно, тоже можно приспособить для выборки, но вряд ли при этом можно достигнуть результатов, превосходящих худший (из осмысленных) вариант для СУБД.
...
Рейтинг: 0 / 0
17.01.2006, 09:47
    #33486387
lissyara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) определение, который был час :)
таблицы видел? Вот из одной надо всё перенести в другую сгруппировав по
часам.
При этом надо разобраться с браузерами, ОСями, поисковиками, разрешением
экранов, и ещё хрен хнает с чем - вторая таблица, которая окончательная пока
в перой версии - ещё будут поля.

MySQL пригодится при несложных операциях - выбрать всех поисковиков,
посетителей с определённым разрешением экрана и пр...


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
17.01.2006, 10:00
    #33486430
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) определение, который был час :)
1. Так чем не устраивает awstats?
2. Вторая таблица -- сводная, в неё заносится сколько было запросов за данный час от пользователей с разрешением экрана 640, сколько с 1024 и т.д. или же количество записей в ней соответствуюет количеству запросов к сайту?
...
Рейтинг: 0 / 0
17.01.2006, 10:09
    #33486452
lissyara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) определение, который был час :)
1. хочу сам.
2. да.


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
17.01.2006, 10:09
    #33486454
lissyara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) определение, который был час :)
2 - в смысле сводная :)


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
17.01.2006, 11:00
    #33486627
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) определение, который был час :)
Если данные несекретные -- пришли дамп на мыло в профиле?
Запрос обкатать.
...
Рейтинг: 0 / 0
17.01.2006, 11:17
    #33486680
lissyara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) определение, который был час :)
выслал


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
17.01.2006, 11:24
    #33486712
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) определение, который был час :)
lissyaraMySQL пригодится при несложных операциях - выбрать всех поисковиков, посетителей с определённым разрешением экрана и пр...Звиздец, простите за мой французский. Люди десятилетиями разрабатывают какие-то СУБД, а они оказываются годными только для простых выборок типа SELECT * FROM table
Мальчик, может ты для начала хотя бы прочтёшь лежащую на этом сайте документацию (тот же Understanding SQL Грабера)?
...
Рейтинг: 0 / 0
17.01.2006, 11:58
    #33486805
lissyara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) определение, который был час :)
"мальчиков" будешь на Тверской снимать. Ясно?

Я делаю так, как считаю нужным. Если считаешь что так неправильно - скажи, а
не пальцы разгибай. Примера что-то от тебя ни одного не видно, зато пальцы
веером так и мелькают, да сопли пузырями разлетаются.


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
17.01.2006, 12:00
    #33486809
lissyara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) определение, который был час :)
Сорри. Сорвался.
Но насчёт "мальчиков" - слова обратно не возьму.

Как я тебе sql обойдусь - если мне надо выбрать вначале одно, потом другое,
да ещё в определённом порядке, чтоб не пересеклось? - это про разбор какой
браузер был у посетителя, например.


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
17.01.2006, 12:47
    #33486932
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) определение, который был час :)
lissyara"мальчиков" будешь на Тверской снимать. Ясно?[/quote]Опытом делитесь? ;)
Извините, девушка, старика, не догадавшегося по нику, что речь о девочке.[quot]Я делаю так, как считаю нужным. Если считаешь что так неправильно - скажиДа, считаю.Примера что-то от тебя ни одного не видноА что, должны быть? Вы задачу вначале поставьте в полном объёме, а не жалкие кусочки. Но даже это не обяжет меня что-то вам делать на халяву - я не обязан даже пинать вас в нужном направлении.да сопли пузырями разлетаютсяВот уж не знаю, чем вас там так забрызгало - но мои сопли тут не при чём :)
...
Рейтинг: 0 / 0
17.01.2006, 13:03
    #33486956
lissyara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) определение, который был час :)
1. Хм... Женского рода ник-то не у меня...
2. Сказал? Молодец. Возьми с полки пирожок.
3. Я не прошу что-то делать нахаляву. Я задал вопрос - можешь ответить -
ответь, не можешь - не надо лезть с нравоучениями на пустом месте.
4. Мда.. Видимо это была Ваша слюна...


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) определение, который был час :) / 25 сообщений из 39, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]