![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: нет Всего: 128 |
Только начал учить MySQL, решил нарисовать скриптик, который выводит циферку, сколько человек в данный момент на сайте (по IP-адресам). Прошу оценить код...
Код подробно документирован. |
|||
|
||||
| sergejzr |
|
||||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 2 Всего: 360 |
Середину кода можно выполнить примерно так, если у тебя база mySQL.
Вместо этого куска:
|
||||
|
|||||
| mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: нет Всего: 128 |
Объясните плз почему.
Добавлено @ 18:01 В смысле как это работает. |
|||
|
||||
| Aliance |
|
||||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 3 Всего: 137 |
29 строчка замени на:
30 строчку наверное лучше написать так:
|
||||
|
|||||
| sergejzr |
|
||||||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 2 Всего: 360 |
Только надо ключ на IP посадить уникальный.
Это замена: INSERT IF NOT EXISTS ELSE UPDATE. Чтото вроде триггера. Добавлено @ 18:07
заменяется на:
|
||||||
|
|||||||
| mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: нет Всего: 128 |
Так. С учетом поправок от Aliance, имеем следующее:
|
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 2 Всего: 360 |
Создать таблицу так:
|
|||
|
||||
| mr.Anderson |
|
||||||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: нет Всего: 128 |
sergeizr, тогда код просто неприлично уменьшится.
Тогда так:
И можно вопрос? В строчке
Это что? Добавлено @ 18:26 Стоп! Наисправлял тут, а теперь у меня скрипт выводит, что на сайте 0 человек, хотя там я! Что-то не так! Это сообщение отредактировал(а) sim7 - 9.11.2006, 18:24 |
||||||
|
|||||||
| sergejzr |
|
||||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 2 Всего: 360 |
Ключа на таблице нет наверное. Ты ведь её ещё раньше создал.
Где то так должна быть таблица создана.
Добавлено @ 18:32 Это алиас. Хотя он не используется.. По идее можно делать
|
||||
|
|||||
| mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: нет Всего: 128 |
Как нет создания?! Строки с 13-й:
|
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 2 Всего: 360 |
||||
|
||||
| mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: нет Всего: 128 |
О... нет. Надо попробовать
|
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 3 Всего: 137 |
А я вообще не понимаю смысла создания таблиц в скрипте (если ты скриптом сам пользуешься, естественно). Я всегда с БД работаю с PHPMyAdmin, а в скрипте только работаю с данными БД, но не с ее структурой.
|
|||
|
||||
| Eugene_Bond |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 138 Регистрация: 3.9.2006 Репутация: нет Всего: 4 |
А зачем так сложно?
Добавление адресов, сохранение даты активности и т.п.. Проще переписать сессионный хендлер чтобы сессии в базе лежали. Добавить избыточное поле IP и потом просто выборкой SELECT COUNT(*) .. GROUP BY ip все получать. + бонусы типа имен залогиненых пользователей можно иметь. и главное сессии сами будут следить за созданием всех нужных записей и за очисткой gc следить будет он же.. http://php.net/session_set_save_handler Добавлено @ 20:25
см. REPLACE |
|||
|
||||
| mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: нет Всего: 128 |
Не понял.
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |