powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) определение, который был час :)
39 сообщений из 39, показаны все 2 страниц
(PHP) определение, который был час :)
    #33483760
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Стругаю скриптик, который будет разбирать данные из таблицы, в которой
ведётся статитстика посещения сайта - кто приходил ,откуда и во сколько и на
какую страницу.
Время хранится в сеундах - 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
(PHP) определение, который был час :)
    #33483762
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В пхп есть функции для преобразования временной метки UNIX в дату. Покопайся в соответствующем разделе мануала на http://php.net
...
Рейтинг: 0 / 0
(PHP) определение, который был час :)
    #33483771
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это-то понятно...

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


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


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



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



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

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


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

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


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

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


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


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


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


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

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


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

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


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


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
(PHP) определение, который был час :)
    #33486970
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
lissyara3. Я не прошу что-то делать нахаляву. Я задал вопрос - можешь ответить - ответь, не можешь - не надо лезть с нравоучениями на пустом месте.Не можешь ставить задачу - не ставь. А ты на меня в суд подай. Или в комитет по правам человека.4. Мда.. Видимо это была Ваша слюна...Опять мимо кассы - ещё версии будут? А я смотрю вас ваша проблема уже и не волнует вовсе :)
...
Рейтинг: 0 / 0
(PHP) определение, который был час :)
    #33487026
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вы ещё подеритесь, горячие финские парни.)
*, как обычно, резок, но прав по сути.
Незачем тут гнать данные на клиент и обратно, нефиг 1С уподобляться.
Код: plaintext
SELECT FROM_UNIXTIME(`vizit_timestamp`, '%Y') AS `year_field`, FROM_UNIXTIME(`vizit_timestamp`, '%m') AS `month_field`, FROM_UNIXTIME(`vizit_timestamp`, '%d') AS `date_field`, FROM_UNIXTIME(`vizit_timestamp`, '%H') AS `hour_field`, SUM(IF((`screen_width` =  1024 ) AND (`screen_height` =  768 ),  1 ,  0 )) AS `640x480` FROM `counter_segodnya` GROUP BY `year_field`, `month_field`, `date_field`, `hour_field`;
Мысль ясна?
...
Рейтинг: 0 / 0
(PHP) определение, который был час :)
    #33487029
VERS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в чем сооб-но вопрос то?
[quot автор]Хорошо. Переформулирую. Как точно определить метку начала прошлого месяца? quot]
есть прекрасная функция strtotime
Начало этого месяца:
Код: plaintext
strtotime(date("Y-m-01"));
Конец этого месяца
Код: plaintext
strtotime(date("Y-m-t"));
Начало этого месяца +1 час
Код: plaintext
strtotime(date("Y-m-01"."+1 hour"));
и т.п.
может поможет )))

-------------------------------
www.free-lancer.ru
...
Рейтинг: 0 / 0
(PHP) определение, который был час :)
    #33487048
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
VERSА в чем сооб-но вопрос то?Вопрос в том, нужно ли юзать PHP там, где с задачей прекрасно справляется SQL-сервер.
...
Рейтинг: 0 / 0
(PHP) определение, который был час :)
    #33487109
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 DocAl
ясна. Попробую. Тока такие запросы мне пока не под силу - надо
тренироваться.
2 VERS
тоже пасиб.
2 *
Опять ничё по теме... Ну и смысл тогда писать?
насчёт:
>А я смотрю вас ваша проблема уже и не волнует вовсе :)
волнует. Тока опять-таки по теме ничё нету...


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
(PHP) определение, который был час :)
    #33487183
VERS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
* VERSА в чем сооб-но вопрос то?Вопрос в том, нужно ли юзать PHP там, где с задачей прекрасно справляется SQL-сервер.
Однозначно не нуно, DocAl дал привел пример.
Я бы почитал манул MySQL еще раз ))
...
Рейтинг: 0 / 0
(PHP) определение, который был час :)
    #33487255
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Каждый день читаю :)
Не весь правда, по необходимости....


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
(PHP) определение, который был час :)
    #33487288
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
lissyara2 *
Опять ничё по теме... Ну и смысл тогда писать?
насчёт:
>А я смотрю вас ваша проблема уже и не волнует вовсе :)
волнует. Тока опять-таки по теме ничё нету... Я фигею, дорогая редакция. Вначале его уговаривают описать проблему в достаточном объёме, потом долго и нудно талдычат о том, что его проблема решается бОльшей частью средствами БД, а не средствами клиентского приложения, после этого он говорит - вот я тут на PHP на лабал, затем опять начинается уговаривание его устремить свой взор в сторону решения своей проблемы средствами БД, и наконец, под занавес заявляет - ничего по теме ему тут не сказали.
Как об стенку горох. Медицина тут бессильна.
...
Рейтинг: 0 / 0
(PHP) определение, который был час :)
    #33487410
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
обобщать не надо? Я ясно сказал кто не по теме говорил, а кто по теме.

P.S. Оно всё на сервере. Поэтому ясней выражайте свои мысли.


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
(PHP) определение, который был час :)
    #33487471
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
lissyaraОно всё на сервере. Поэтому ясней выражайте свои мысли.Мне вас становится уже жалко. Куда уж яснее то? Вы не в состоянии отличить сервер БД от клиента? Может вы полагаете, что им является браузер пользователя? И это именно он шлёт запросы к серверу БД? А при чём же тут тогда PHP?
А это не вы часом как-то утверждали, что знание азов вам ни к чему? Это бы многое объяснило.
...
Рейтинг: 0 / 0
(PHP) определение, который был час :)
    #33487782
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сервер, в моём понимании, в первую очередь - это выделенная машина,
выполняющая какие-бы то ни было задачи. Клиент - это тот кто имеет с этого
результат.

В общем случае этой задачи - сервер это машина ни которой крутится связка
apache+php+mysql а клиент - это чувак с браузером, который действительно
шлёт запросы. GET / например...

А вот дальше начались частности - что внутри сервера своя жизнь, и там уже
php шлёт запросы к БД.

=========
это было лирическое отступление.
А по существу проблемы от вас так и не поступило ни одного предложения.
Разве что почитать на этом сайте документацию. По SQL.

P.S. Причины, почему PHP а не sql - никого волновать не должны. Вот хочу на
php и всё.
И, кстати, вопрос был про время, и первое число...


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
(PHP) определение, который был час :)
    #33488088
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lissyara, ты неправ. Гонять массивы данных на клиент и обратно -- концептуально неверно. Есть замечательный образчик неверности этого концептуально: 1С.
...
Рейтинг: 0 / 0
(PHP) определение, который был час :)
    #33488117
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
lissyaraА вот дальше начались частности - что внутри сервера своя жизнь, и там уже php шлёт запросы к БД.Речь шла о PHP (клиент) и MySQL (сервер) - в этой связке про HTTP можно просто забыть - это уже десятый вопрос.Причины, почему PHP а не sql - никого волновать не должны. Вот хочу на php и всё.Да ради бога, хотите. Только в этом случае не стоит требовать от других какие-то предложения по существу. Если невооружённым глазом видно, что вы пытаетесь поставить костыли - ни один здравомыслящий человек не будет терять времени на то, чтобы помочь поставить вам подпорки. Делать надо сразу правильно, а не абы как, чтобы потом не было мучительно больно. Хотя делайте. На ошибках учатся. Но тогда уж прилагайте хоть максимум самостоятельных усилий.
...
Рейтинг: 0 / 0
(PHP) определение, который был час :)
    #33488151
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прилагаю :)
========
а насчёт по существу - не по существу...
Я просил ответ по существу. И мне его дал VERS
Остальное было переливание из пустого в порожнее.


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


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