TopSeachMySQL, API2 | Топ поисков на хабе |
Здравствуйте, гость ( Вход | Регистрация )
TopSeachMySQL, API2 | Топ поисков на хабе |
13.4.2009, 19:47
Сообщение
#1
|
|
Самый главный активист :-D Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз |
Название скрипта: TopSeachMySQL
Версия скрипта: 1.0 RC1 Версия API: API2 Автор: Wariner Особенности: работа с MySQL Описание скрипта: - Оснавная возможность - ведёт топ поисков на хабе - Вывод общего топа целиком или по категориям - Вывод топов за сегодня месяц и год целиком или по категориям - Для работы требуется библиотека MySQL( тема с библиотекой ) и соответственно MySQL сервер v 1.0 RC2 - Добавлен лог ошибок - В базу заносятся только поиски определённой длинны (в соответствии с настройками хаба) - Поправлена пара ошибок PS: тестим, отписываем комментарии и пожелания)))) PPS: БД надо создавать вручную! Таблицы создадутся сами!
Прикрепленные файлы
|
|
|
13.4.2009, 20:16
Сообщение
#2
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
хм... а что так много одинаковых таблиц? Зачем?
|
|
|
13.4.2009, 20:22
Сообщение
#3
|
|
Самый главный активист :-D Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз |
в данном случае таблицы используются вместо условий.
по работе с MySQL есть замечания(оптимизация)? |
|
|
13.4.2009, 20:41
Сообщение
#4
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Надо было не дробить, а просто завести ещё один атрибут и вставлять в таблицу с условием WHERE в этом атрибуте
Иначи создаётся и заполняется лишняя таблица |
|
|
13.4.2009, 20:50
Сообщение
#5
|
|
Самый главный активист :-D Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз |
не понял о чём речь. можно поподробнее?
upd: понял. просто не про те таблицы подумал. попробую исправить. |
|
|
14.4.2009, 17:59
Сообщение
#6
|
|
Участник Группа: Пользователи Сообщений: 34 Регистрация: 14.3.2009 Пользователь №: 2 597 Спасибо сказали: 0 раз |
Хм.. интересно)
|
|
|
14.4.2009, 19:09
Сообщение
#7
|
|
Самый главный активист :-D Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз |
комментарий Ильи учтён, стало компактнее и удобнее! тестим)))
|
|
|
14.4.2009, 19:14
Сообщение
#8
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Ну вот, совсем другое дело. Азы mysql программирования освоены.
Теперь бы тебе ещё освоить структурированное программирование (классы) тогда твоим скриптам цены бы не было |
|
|
14.4.2009, 19:22
Сообщение
#9
|
|
Самый главный активист :-D Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз |
буду стараться))))
|
|
|
14.4.2009, 21:25
Сообщение
#10
|
|
Я коварный Санта Клаус Группа: Пользователи Сообщений: 523 Регистрация: 4.11.2008 Из: Саратов Пользователь №: 985 Спасибо сказали: 54 раза |
Ай да Wariner, ну и молодец! Спасибо тебе. Запустил скрипт - создал базу mysql, прописал ее в скрипте, пользователя, пароль - и всё заработало!
Цитата [21:50:08] <SeachBot> Общиий топ поиска на хабе: ======================================== Текст Кол. ======================================== окна 1 шпаргалка 1 бумер 1 гр бумер 1 воздушная скорость avi lbgh2sn4zrracnz6dqeukazn224azbmtjmaryky 1 david vendetta 1 воздушная скорость avi 1 ======================================== 5 минут - полёт нормальный!Памяти кушает 140 килобайт. Цитата [22:17] Синтаксис ... Интернет\PtokaX 0.4.1.1\scripts\TopSeachMySQL.lua:144: bad argument #3 to 'format' (string expected, got nil) Код con:execute(("INSERT INTO `SeachDate` (`id_Seach`, `date_Seach`, `category`) VALUES ((SELECT `id` FROM `TopSeach` WHERE Seach = '%s'),'%s','%s')"):format(sSeach,os.date("%Y-%m-%d"),iNumber)) - вот она эта строчкаВот что менял - добавлял только исключения: Код local tExceptions = { -- Слова исключения которые в топ заносится не будут
["xxx"] = 1, ["порно"] = 1, ["малолетки"] = 1, ["porn"] = 1, ["анал"] = 1, ["ххх"] = 1, ["porno"] = 1, } |
|
|
14.4.2009, 21:28
Сообщение
#11
|
|
Самый главный активист :-D Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз |
Код function SearchArrival(tUser, sData)
sData = sData:sub(1,-2) local _,_,iNumber,sSeach = sData:find("$Search .-%s%u%p%u%p%d%p(%d+)%p(.*)") if iNumber and sSeach then sSeach = String2Lower(sSeach) sSeach = sSeach:gsub("%p", " ") local _,_,sTthseach = sSeach:find("^(%a%a%a)") if sTthseach ~= "tth" then if tExceptions[sSeach] ~= 1 then con:execute(("INSERT INTO `TopSeach` (`Seach`) VALUES ('%s')"):format(sSeach)) con:execute(("UPDATE `TopSeach` SET `S%s` = `S%s` + 1 WHERE `Seach` = '%s'"):format(tostring(iNumber), tostring(iNumber), sSeach)) con:execute(("INSERT INTO `SeachDate` (`id_Seach`, `date_Seach`, `category`) VALUES ((SELECT `id` FROM `TopSeach` WHERE Seach = '%s'),'%s','%s')"):format(sSeach,os.date("%Y-%m-%d"),iNumber)) end end end end |
|
|
14.4.2009, 21:39
Сообщение
#12
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Достаточно было написать так:
Код local iNumber, sSeach = sData:match"$Search .-%s%u%p%u%p%d%p(%d+)%p(.*)" if iNumber then Если iNumber будет равно nil, то и sSeach будет равно nil. Если iNumber не nil, то и sSeach не nil. |
|
|
14.4.2009, 21:39
Сообщение
#13
|
|
Самый главный активист :-D Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз |
исправлено несколько мелочей! скрипт перезалит!
|
|
|
17.4.2009, 20:04
Сообщение
#14
|
|
Я коварный Санта Клаус Группа: Пользователи Сообщений: 523 Регистрация: 4.11.2008 Из: Саратов Пользователь №: 985 Спасибо сказали: 54 раза |
Топ поиска документов за месяц:
Цитата [20:47] Синтаксис ... Интернет\PtokaX 0.4.1.1\scripts\TopSeachMySQL.lua:253: attempt to index field '?' (a nil value) Скрипт от 14.4.2009, 22:39 |
|
|
20.4.2009, 19:58
Сообщение
#15
|
|
Я коварный Санта Клаус Группа: Пользователи Сообщений: 523 Регистрация: 4.11.2008 Из: Саратов Пользователь №: 985 Спасибо сказали: 54 раза |
А возможно чтобы слова исключения (porn и им подобные) добавлялись через меню хаба в базу mysql (и хранились там) - а не прописывались в конфиге?
(конечно оффтоп - но может кто нибудь сделать на основе данных из базы mysql сделать статистику на сайт? просил в ветке про скрипт StatPX - сделать туда дополнительно но получил отказ. Хотя эти данные из таблиц базы носят ценный характер) |
|
|
20.4.2009, 22:24
Сообщение
#16
|
|
Самый главный активист :-D Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз |
про слова сделаю)))
|
|
|
30.4.2009, 16:30
Сообщение
#17
|
|
Участник Группа: Пользователи Сообщений: 44 Регистрация: 25.7.2008 Из: г.Тамбов Пользователь №: 263 Спасибо сказали: 1 раз |
у меня у всех скриптов одна ошибка...библиотеки лежат в правельном месте!!! PtokaX\libs. так же в скрипте всё правельно прописано...
стоит xampp 1.6.8. Версия MySQL: 5.0.67
Прикрепленные файлы
|
|
|
30.4.2009, 16:49
Сообщение
#18
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
1) Библиотека libmysql.dll должна лежать в папке libs, а папка libs должна быть создана в директории, откуда запускается ptokax, а не в директории scripts.
Вообще говоря, конфигурация папок и файлов должна быть такой: Цитата "корневая папка ptokax"/libs/libmysql.dll "корневая папка ptokax"/libs/luasql/mysql.dll "корневая папка ptokax"/scripts/TopSeachMySQL.lua 2) Откуда ptokax подгружает библиотеки можно посмотреть с помощью скрипта: Код Core.SendToAll(tostring(package.cpath)) 3) Если все равно не загружается, то попробуй перенести содержимое папки libs в корневую папку, в которой находится ptokax.exe 4) Подобного рода ошибки могут также возникать если mysql сервер остановлен или вовсе отсутствует! |
|
|
30.4.2009, 17:52
Сообщение
#19
|
|
Участник Группа: Пользователи Сообщений: 44 Регистрация: 25.7.2008 Из: г.Тамбов Пользователь №: 263 Спасибо сказали: 1 раз |
[18:50] Синтаксис error loading module 'luasql.mysql' from file 'H:\PtokaX\libs\luasql\mysql.dll':
Не найден указанный модуль. в Ptokax такие ошибки..! мускул включён...трекер то нормально работает... а если перенести то так: [18:55] Синтаксис H:\PtokaX\scripts\RankingScript.lua:46: LuaSQL: Error connecting to database. MySQL: Unknown database 'chatrang' типа не может приконектится!!!
Прикрепленные файлы
|
|
|
30.4.2009, 18:08
Сообщение
#20
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Конечно. Нужно сначала создать базу данных, а потом уже к ней коннектиться
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последнее сообщение | |
---|---|---|---|---|---|
От: TopSeachMySQL От темы с ID: 1765 |
0 | exxxx | 4 065 | 20.2.2010, 15:00 Посл. сообщение: exxxx | |
От: TopSeachMySQL От темы с ID: 1765 |
0 | Lesh™ | 3 299 | 7.10.2009, 19:27 Посл. сообщение: Lesh™ |
|
Сейчас: 23.11.2024, 5:22 |