Large

vkInviter

By Miami Last update Aug 21, 2009 — Installed 5,651 times.

Вопросы по серверу vkInviter

in
Subscribe to Вопросы по серверу vkInviter 3 posts, 1 voice



Miami Script's Author
FirefoxWindows

Если у вас появляются вопросы, связанные с установкой или обновлением сервера vkInviter, не стесняйтесь задавать их здесь.

 
Miami Script's Author
FirefoxWindows

Вопрос:
Что мне нужно поменять, для того чтобы скрипт сохранял данные о приглашениях на мой собственный сервер vkInviter?

Ответ:
После того как сервер vkInviter был установлен на вашем хостинге или локальном компьютере, вы можете настроить пользовательский скрипт для работы с ним. Для этого скрипт надо открыть с текстовым редактором и заменить http://www.blackcrystal.net/labs/vkinviter/db.php на путь к вашему серверу.

 
Miami Script's Author
FirefoxWindows

Парочка полезных SQL запросов, которые вы можете запустить на имеющихся данных, собранных vkInviter. Предпологается, что таблица с данными называется vkinviter и что эта таблица сделана для vkInviterServer 1.6 и выше, то есть имеет столбец date, iid и status которые заполнены данными, а не ноликами ;) Итак, внимание!

Запрос покажет статистику активности за последние дни:
- adate - дата,
- time_fr, time_to - время первого и последнего приглашения,
- inviters - кол-во приглашающих,
- users - кол-во приглашений за день
- groups - кол-во групп, в которые приглашали за день

SELECT
  DATE(date) adate,
  TIME( MIN(date) ) time_fr,
  TIME( MAX(date) ) time_to,
  COUNT(DISTINCT iid) inviters,
  COUNT(1) users,
  COUNT(DISTINCT gid) groups
FROM vkinviter
WHERE date > 0 AND iid > 0 AND status = 1
GROUP BY adate
ORDER BY adate DESC 
Этот запрос делает выборку, группируя данные по датам, показывая минимальное-максимальное время приглашения, выбирая уникальных приглашающих и количество уникальных номеров групп. Простой запросик, однако может ндолго "повесить" ваш сервер если нет необходимой индексации на полях gid, iid и status.

Следующий запрос покажет эффективность комманды приглашающих:
- ид приглашающего (iid),
- количество высланых им приглашений (invited),
- время проведённое за этим занятием, в минутах (minutes)
- и эффективность - кол-во приглашений в минуту (eff)

SELECT
  iid,
  SUM(c) invited,
  COUNT(DISTINCT d) minutes,
  SUM(c)/COUNT(DISTINCT d) eff
FROM (
SELECT 
  iid, 
  round(date/100) d,
  count(1) c
FROM `vkinviter`
WHERE date > 0 AND iid > 0 AND status = 1
GROUP BY iid, d
) a
GROUP BY iid
ORDER BY invited DESC
Запрос состоит из двух частей. Вложенная часть запроса делит приглашения на "пачки". Каждая пачка - это одна минута проведённого за приглашениями времени. Внешняя часть запроса складывает получившееся число минут и суммирует число приглашенных, вычисляя эффективность. Запрос не претендует на оригинальность, уверен можно сделать более элегантно ;)

Cross
Presentational HTML allowed.
Use <code> for inline code and <pre> for code blocks. Use &lt; and &gt; for literal < and >.
We help break paragraphs and link your links.
or cancel