Forum Webscript.Ru
Наши скрипты => MobilePublisherPHP => Тема начата: Ex Librisss от 08 Ноября 2003, 00:30:14
-
Надеюсь, что авторы программы не оторвут мне все вы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:
-
Спасибо, Ex Librisss, за помощь, а то у меня руки не как не доходили. Авторы программы не оторвут тебе все выступающие части тела, а даже похвалят! По поводу без индексных табличек, в ней хранятся текущие значения счетчика. Следовательно я всем рекомендую ручками вписать в MySQL первый хит, как и сказал достопочтенный Ex Librisss.
-
А можно енто усе повторить на понятном для плохо-разбирающихся языке? т.е. какой запрос дать MySQL чтобы это реализовать? или какие поля в этой таблице надо изменить? ато что-то до мене не дойдет...
-
Нужно установить значение поля totalhits таблицы n_counter1 равным 1.
-
marvel:
А можно енто усе повторить на понятном для плохо-разбирающихся языке? т.е. какой запрос дать MySQL чтобы это реализовать? или какие поля в этой таблице надо изменить? ато что-то до мене не дойдет...
А так и впиши в (не знаю, в чем ты там MySQL правишь):
INSERT n_counter1 (totalhits) VALUES (1);
Если правишь в mysoladmin\'e или в консоли - не забудь точку с запятой в конце, если в phpMyAdmin\'e - можно и так :)
AN, спасибо за похвалу. А все-таки, почему табличку с текущими значениями вынелсли отдельно? Если ее объединить с с таблицей counter_2 все прекрасно работает... Впрочем, вынесли и ладно.
Тогда еще вариант - прямо в header.php забить этот инсерт. Где-нибудь повыше, до апдейта.
-
Вынесли для того, чтобы разделить логически, ведь counter_2 содержит статистическую информацию, а counter_1 всего лишь значение счетчика.
-
у меня просто вылетело из головы что нада префикс таблицы вписать свой вот и туплю... пргосто нада было поменять n_counter1 на mp_counter1