LastQueries v1.1 - Сбор поисковых запросов

Статус
В этой теме нельзя размещать новые ответы.

Seopirat

Admin
Команда форума
Приватовец
VIP
Прошёл марафон
Регистрация
21 Фев 2017
Сообщения
2.169
Реакции
1.556
Баллы
113
Для начала создадим новую таблицу в базе, где будем хранить список всех запросов. Для этого выполните запрос к вашей базе (через консоль или phpmyadmin):


Скрытый контент для членов клуба.

Код:

CREATE TABLE IF NOT EXISTS `queries` (

`qid` int(10) NOT NULL auto_increment primary key,

`query` text NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Теперь базу нужно наполнить запросами. Открываем /core/search.php, находим:

Скрытый контент для членов клуба.

PHP:

if ($results['tracks']){

и ВЫШЕ вставляем:

PHP:

$sql = $conn->query("SELECT `qid` FROM `queries` WHERE `query` = '$query'");

if (!$sql->fetch_assoc()){

$sql = $conn->query("INSERT INTO `queries` (`query`) VALUES ('$query')");

}

Логика работы очень проста - пробуем найти в базе такой поисковый запрос, если его нет - добавляем. Новый запрос будет добавляться каждый раз, при переходе на страницу трека или поиск через поисковую форму. В MSE-Script 2.2 и выше, этот пункт можно пропустить, так как там уже встроена таблица с запросами.

Ахтунг! На сайтах с посещаемостью, новые запросы будут добавляться очень быстро! Использовать аккуратно, так как может быть серьезная нагрузка на сервер.

Теперь можно сделать вывод последних запросов на сайте. Загружаем содержимое архива в корень сайта, открываем свой шаблон и в нужном месте вставляем:

Скрытый контент для членов клуба.

PHP:

{getLastQueries limit="10"}

{foreach $lastQueries as $searchQuery}

<a class="pajax-link" href="/search/{$config.key}/{$searchQuery.query}/">{$searchQuery.query}</a>,

{/foreach}

limit="10" - как, наверное, вы догадались - это кол-во выводимых запросов.

Версия 1.1 от 11.02.2018
- Добавлен параметр offset="xx", задающий смещение для выборки запросов
 

Вложения

oldenough

VIP
VIP
Регистрация
9 Авг 2017
Сообщения
148
Реакции
17
Баллы
18
в core/search.php нету if ($results['tracks']){
Что делать?
 

doz

Гуру
Кодер
Приватовец
VIP
Регистрация
12 Мар 2017
Сообщения
212
Реакции
81
Баллы
28
v.1.1 ?
что изменилось?
 

Rumiinn

VIP
VIP
Прошёл марафон
Регистрация
10 Май 2017
Сообщения
172
Реакции
46
Баллы
28
Добавлен параметр offset="xx", задающий смещение для выборки запросов
Теперь можно сделать вывод последних запросов на сайте. Загружаем содержимое архива в корень сайта, открываем свой шаблон и в нужном месте вставляем:
PHP:
{getLastQueries limit="10"}
{foreach $lastQueries as $searchQuery}
<a class="pajax-link" href="/search/{$config.key}/{$searchQuery.query}/">{$searchQuery.query}</a>,
{/foreach}
Куда нужно вставить подскажите пожалуйста!
 

Seopirat

Admin
Команда форума
Приватовец
VIP
Прошёл марафон
Регистрация
21 Фев 2017
Сообщения
2.169
Реакции
1.556
Баллы
113
@Rumiinn,
Где ты хочешь это вывести?
 

Artem

VIP
VIP
Регистрация
6 Апр 2017
Сообщения
167
Реакции
21
Баллы
28
Разобрался)
 

Vitaliy12355

VIP
VIP
Регистрация
8 Ноя 2017
Сообщения
63
Реакции
9
Баллы
8
Господа! Кто разобрался, можно решение прописать. Поподробнее. Особенно, как создать таблицу. Всем ответившим, заранее спасибо!
 

Akimu

Ктулху
Приватовец
VIP
Прошёл марафон
Регистрация
11 Мар 2017
Сообщения
1.289
Реакции
941
Баллы
183
Для начала создадим новую таблицу в базе, где будем хранить список всех запросов. Для этого выполните запрос к вашей базе (через консоль или phpmyadmin)

Сам запрос:


Код:
CREATE TABLE IF NOT EXISTS `queries` (
`qid` int(10) NOT NULL auto_increment primary key,
  `query` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 

Vitaliy12355

VIP
VIP
Регистрация
8 Ноя 2017
Сообщения
63
Реакции
9
Баллы
8
Это я видел. Вопрос в том, как это сделать по шагам, если ниразу в жизни этого не делал? Создаем таблицу и куда там это впихивать? Я пока в этих вопросах несилен. Подскажите поподробнее пожалуйста.
 

Seopirat

Admin
Команда форума
Приватовец
VIP
Прошёл марафон
Регистрация
21 Фев 2017
Сообщения
2.169
Реакции
1.556
Баллы
113
1) Открываешь phpmyadmin
2) Выбираешь свою базу
3) Выбираешь вкладку SQL и вставляешь запрос
4) Жмешь "Вперед"
upload_2018-11-5_18-22-11.png

Метод 2:
1) Подключаешься к серверу по SSH
2) Набираешь команду mysql -u USER_NAME -p, жмешь ENTER
3) Система попросит пароль, вводишь пароль
4) Вводишь use DB_NAME
5) Вводишь указанный запрос
 

razzroman

VIP
VIP
Регистрация
10 Янв 2018
Сообщения
162
Реакции
42
Баллы
28
на 2.1 не работает?
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу