Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Модули » Search Field v5.0 na DLE 10

Search Field v5.0 na DLE 10


     18.02.2014    Все вопросы » Модули    4912

вопрос
Привет я увидел, что пользователь "playll.net" спросил в форуме о модуле Search Fields v5.0
( https://dle-faq.ru/faq/phpquest/8597-mysql-error-pri-poiskovom-zaprose.html )
Я установил модуль у себя, но не работает.
У меня есть DLE 10.
Как настроить модуль ?
Я буду очень признателен за вашу помощь.

При поиске любого сообщения всплывает:
MySQL Error!
MySQL error in file: /engine/modules/show.short.php at line 66
Error Number: 1054
The Error returned was:
Unknown column 'allow_rate' in 'field list'
SQL query:

SELECT id, autor, date, short_story, SUBSTRING(full_story, 1, 15) as full_story, xfields, title, category, alt_name, comm_num, allow_comm, allow_rate, rating, vote_num, news_read, approve, flag, editdate, editor, reason, view_edit, tags FROM tv_post where xfields LIKE '%type|2012%' AND approve AND date < '2014-02-18 16:50:41' ORDER BY date+0 DESC LIMIT 0,20


Извините за плохой русский, но я поляк.

Ответа пока нет


11 комментариев

Lynat1k
Юзер

Lynat1k - 18 февраля 2014 22:05 -

Удивительно но даже Поляки грамотнее пишут на русском чем сами русские

pavel31
Юзер

pavel31 - 18 февраля 2014 22:52 -

Unknown column 'allow_rate' in 'field list' - Нет колонки allow_rate в таблице tv_post.

czudik
Юзер

czudik - 18 февраля 2014 23:45 -

Я добавил эту колонку но ошибка все еще там.
ошибка:
MySQL error in file: /engine/modules/show.short.php at line 66
Error Number: 1054
The Error returned was:
Unknown column 'rating' in 'field list'
SQL query:

SELECT id, autor, date, short_story, SUBSTRING(full_story, 1, 15) as full_story, xfields, title, category, alt_name, comm_num, allow_comm, allow_rate, rating, vote_num, news_read, approve, flag, editdate, editor, reason, view_edit, tags FROM tv_post where xfields LIKE '%type|2012%' AND approve AND date < '2014-02-18 20:41:57' ORDER BY date+0 DESC LIMIT 0,20


когда я добавляю колонку rating, вся страница перестает работать.

pavel31
Юзер

pavel31 - 18 февраля 2014 23:49 -

czudik,
Может ещё колонок не хватает, проверьте всю таблицу, что бы колонки в таблице соответствовали колонкам в SQL запросе

czudik
Юзер

czudik - 18 февраля 2014 23:56 -

Когда я добавляю колонку всплывает проблема:
MySQL error in file: /engine/modules/topnews.php at line 37
Error Number: 1052
The Error returned was:
Column 'rating' in order clause is ambiguous
SQL query:

SELECT p.id, p.date, p.short_story, p.xfields, p.title, p.category, p.alt_name FROM tv_post p LEFT JOIN tv_post_extras e ON (p.id=e.news_id) WHERE p.approve=1 AND p.date >= '2014-02-18 20:34:26' - INTERVAL 1 MONTH AND p.date < '2014-02-18 20:34:26' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,10

ravchik
Юзер

ravchik - 19 февраля 2014 06:28 -

Здравствуйте. Могу дать переделанный под ДЛЕ 10+ вариант модуля.. Пишите в личку.

czudik
Юзер

czudik - 19 февраля 2014 19:00 -

Я загрузил ваш версию модуля, но все еще есть та же проблема:
MySQL error in file: /engine/modules/show.short.php at line 51
Error Number: 1052
The Error returned was:
Column 'allow_rate' in field list is ambiguous
SQL query:

SELECT id, autor, date, short_story, SUBSTRING(full_story, 1, 15) as full_story, xfields, title, category, alt_name, comm_num, allow_comm, allow_rate, rating, vote_num, news_read, approve, editdate, editor, reason, view_edit, tags FROM tv_post LEFT JOIN tv_post_extras ON tv_post_extras.news_id = tv_post.id WHERE xfields LIKE '%year|2013%' AND approve AND date < '2014-02-19 15:52:04' ORDER BY date+0 DESC LIMIT 0,20


Я не знаю, слишком много, что писать в
ShortStory для SearchFields "Шаблон короткой новости для поиска по дополнительным полям"
Я попытался написать shortstory но и так не работает.


EDIT:
И когда я добавить в код страницы:
{include file="/engine/modules/xfarray.php"}

Показаны эту ошибку:
MySQL Error!
MySQL error in file: /engine/api/api.class.php at line 362
Error Number: 1146
The Error returned was:
Table 'gm184577_tv.dle_post' doesn't exist
SQL query:

Select xfields from dle_post where approve=1

czudik
Юзер

czudik - 21 февраля 2014 02:22 -

Привет, это снова я :).(Модуль уже запущен с помощью ravchik )
Я переработал дополнительное поле genre, потому что модуль искал только при genre, a Жанр был в "genre" и "genre2".
Я сделал категорий жанра и тут начинается моя проблема:
Модуль ищет только если выбранной одного жанра, но если в фильме добавлены два это модуль не видит его.
Что делать?


Пожалуйста, помогите.

Kane
Юзер

Kane - 21 февраля 2014 11:10 -

Покажите какой запрос идет в базу данных?

czudik
Юзер

czudik - 21 февраля 2014 19:20 -

где это посмотреть ?
Это часть кодa модуля :
        else
        {
            // if(strpos($_SERVER['REQUEST_URI'], "?do=searchfields") || strpos($_SERVER['REQUEST_URI'], '/sf/'))
            // {
                // $value = $db->safesql(htmlspecialchars(stripslashes($value)));
            // }
            // else
            // {
                // $value = iconv("utf-8","windows-1251",$db->safesql(htmlspecialchars(stripslashes($value))));
            // }
            if ($key != 'category')
            {
                if(strpos($value, ";") === false)
                {
                    $searchArr = array($key, $value);
                    $searchQuery[] = "xfields LIKE '%" . implode('|', $searchArr) . "%'";
                }else{
                    $searchRes = explode(";", $value);
                    foreach($searchRes as $kent){
                        $searchArr = array($key, $kent);
                        $searchLS[] = "xfields LIKE '%" . implode('|', $searchArr) . "%'";
                    }
                    $searchRes = implode(" OR ", $searchLS);
                    $searchQuery[] = '(' .$searchRes. ')';
                    
                }
                
            }
            else
            {
                if ($config['allow_multi_category'] == 'yes')
                {
                    $searchQuery[] = "category regexp '[[:<:]]( $value  )[[:>:]]'";
                }
                else
                {
                    $searchQuery[] = "category = '$value'";
                }
            }
        }
    }
}

unset($matches);
if($searchQuery)
    $where .= implode(' AND ',$searchQuery)." AND";

$sql_select = "SELECT id, autor, date, short_story, SUBSTRING(full_story, 1, 15) as full_story, xfields, title, category, alt_name, comm_num, allow_comm, allow_rate, rating, vote_num, news_read, approve, editdate, editor, reason, view_edit, tags $select FROM " . PREFIX . "_post LEFT JOIN " . PREFIX . "_post_extras ON  " . PREFIX . "_post_extras.news_id =  " . PREFIX . "_post.id  WHERE {$where} approve" . $where_date . " ORDER BY " . $news_sort_by . "+0 " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];$sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post where {$where} approve" . $where_date;
$allow_active_news = true;



?>


Googledono
Юзер

Googledono - 30 апреля 2014 13:40 -

открываем engine/modules/search_xf.php
в самом конце меняем это
$sql_select = "SELECT id, autor, date, short_story, SUBSTRING(full_story, 1, 15) as full_story, xfields, title, category, alt_name, comm_num, allow_comm, allow_rate, rating, vote_num, news_read, approve, flag, editdate, editor, reason, view_edit, tags $select FROM " . PREFIX . "_post where {$where} approve" . $where_date . " ORDER BY " . $news_sort_by . "+0 " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];  
$sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post where {$where} approve" . $where_date;

на
$sql_select = "SELECT id, autor, date, short_story, SUBSTRING(full_story, 1, 15) as full_story, xfields, title, category, alt_name, comm_num, allow_comm, allow_rate, rating, vote_num, news_read, approve, editdate, editor, reason, view_edit, tags $select FROM " . PREFIX . "_post LEFT JOIN " . PREFIX . "_post_extras ON  " . PREFIX . "_post_extras.news_id =  " . PREFIX . "_post.id  WHERE {$where} approve" . $where_date . " ORDER BY " . $news_sort_by . "+0 " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];$sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post where {$where} approve" . $where_date;

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

 09.07.2013 giorgi  Модули
наверх