Автор Тема: Нашел рецепт лечения блока Статистика!  (Прочитано 4668 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Ex Librisss

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 8
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.jozhuiki.org
Надеюсь, что авторы программы не оторвут мне все выcтупающие части тела за такое копание в коде. Я ж для дела, а не для выгоды :)

Значит так. Блок "Статистика" не работает в оригинальной версии. Почему - долго искал, нашел вот это: "Запросы UPDATE оптимизируются как запрос SELECT с дополнительными издержками на запись. Скорость записи зависит от размера обновляемых данных и количества обновляемых индексов. Индексы, которые не были изменены, обновлены не будут." http://www.mysql.com/doc/ru/Update_speed.html

А в коде (header.php) команда "UPDATE n_counter1 ..." дается первой, без единого INSERT\'a данной таблицы перед этим. И непроходит (база не выдает ошибку, но исправно апдейтит ровно... 0 рядов :))

Лечение:
Можно ручками вписать в MySQL первый хит (INSERT n_counter1 (totalhits) VALUES (1);) и наслаждаться жизнью.

Можно поступить чуть иначе (как сделал я): до постановки МР подредактировал файл installer.php на предмет объединения таблиц n_counter1 и n_counter2, а потом подредактировал header.php на предмет убирания упоминаний о "лишней" табличке.

AN, может стоить это сразу в дистрибутиве сделать? Там (если знаешь чего) возни на три минуты, а польза - очевидна.
И вообще, подозрительны мне безиндексные таблички в три строки - на кой ляд их разводить? :) :beer:

Оффлайн AN

  • Модератор
  • Глобальный модератор
  • Старожил
  • *****
  • Сообщений: 308
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Нашел рецепт лечения блока Статистика!
« Ответ #1 : 10 Ноября 2003, 09:27:12 »
Спасибо, Ex Librisss, за помощь, а то у меня руки не как не доходили. Авторы программы не оторвут тебе все выступающие части тела, а даже похвалят! По поводу без индексных табличек, в ней хранятся текущие значения счетчика. Следовательно я всем рекомендую ручками вписать в MySQL первый хит, как и сказал достопочтенный Ex Librisss.
Со-автор MPPHP.

Оффлайн marvel

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 19
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.duotone.ru
Нашел рецепт лечения блока Статистика!
« Ответ #2 : 13 Ноября 2003, 23:31:14 »
А можно енто усе повторить на понятном для плохо-разбирающихся языке? т.е. какой запрос дать MySQL чтобы это реализовать? или какие поля в этой таблице надо изменить? ато что-то до мене не дойдет...
таков он был...

Оффлайн AN

  • Модератор
  • Глобальный модератор
  • Старожил
  • *****
  • Сообщений: 308
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Нашел рецепт лечения блока Статистика!
« Ответ #3 : 14 Ноября 2003, 09:42:04 »
Нужно установить значение поля totalhits таблицы n_counter1 равным 1.
Со-автор MPPHP.

Оффлайн Ex Librisss

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 8
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.jozhuiki.org
Нашел рецепт лечения блока Статистика!
« Ответ #4 : 14 Ноября 2003, 23:53:33 »
Цитировать
marvel:
А можно енто усе повторить на понятном для плохо-разбирающихся языке? т.е. какой запрос дать MySQL чтобы это реализовать? или какие поля в этой таблице надо изменить? ато что-то до мене не дойдет...

А так и впиши в (не знаю, в чем ты там MySQL правишь):
INSERT n_counter1 (totalhits) VALUES (1);
Если правишь в mysoladmin\'e или в консоли - не забудь точку с запятой в конце, если в phpMyAdmin\'e - можно и так :)

AN, спасибо за похвалу. А все-таки, почему табличку с текущими значениями вынелсли отдельно? Если ее объединить с с таблицей counter_2 все прекрасно работает... Впрочем, вынесли и ладно.

Тогда еще вариант - прямо в header.php  забить этот инсерт. Где-нибудь повыше, до апдейта.

Оффлайн AN

  • Модератор
  • Глобальный модератор
  • Старожил
  • *****
  • Сообщений: 308
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Нашел рецепт лечения блока Статистика!
« Ответ #5 : 16 Ноября 2003, 17:26:47 »
Вынесли для того, чтобы разделить логически, ведь counter_2 содержит статистическую информацию, а counter_1 всего лишь  значение счетчика.
Со-автор MPPHP.

Оффлайн marvel

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 19
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.duotone.ru
Нашел рецепт лечения блока Статистика!
« Ответ #6 : 17 Ноября 2003, 20:10:56 »
у меня просто вылетело из головы что нада префикс таблицы вписать свой вот и туплю... пргосто нада было поменять n_counter1 на mp_counter1
таков он был...

 

Sitemap 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 27 28