Перейти к публикации

Вывод новостей по странам и категориям


Рекомендованные сообщения

Здравствуйте. Извините если не совсем в том разделе создал тему, надеюсь правильно)  Сайт на локалхосте, но проблема легко описываемая и сразу будет понятна.

 

DLE 9.7

Суть проблемы:

 

Нужно вывести новости относящиеся к конкретной стране, в данном случае "Франция"  даже если "Франция, США" или "Франция, Россия" и т.д. всё равно вывести в разделе "Франция".

 

В engine/engine.php я добавил код выборки из базы  

 

if ($cstart) {
                $cstart = $cstart - 1;
                $cstart = $cstart * $config['news_number'];
            }

            $newsmodule = true;
            
            $url_page = $config['http_home_url'] . "lastnews";
            $user_query = "do=lastnews";
            
            if (isset ( $_SESSION['dle_sort_lastnews'] )) $news_sort_by = $_SESSION['dle_sort_lastnews'];
            else $news_sort_by = "date";
            if (isset ( $_SESSION['dle_direction_lastnews'] )) $news_direction_by = $_SESSION['dle_direction_lastnews'];
            else $news_direction_by = "DESC";
            
            $sql_select = "SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.orig, p.year, p.country, p.category, p.alt_name, p.comm_num, p.allow_comm, p.fixed, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.editdate, e.editor, e.reason FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) WHERE {$stop_list}approve=1 AND category NOT LIKE '31'  AND category NOT LIKE '26' AND category NOT LIKE '38' AND category NOT LIKE '1,4'  AND category NOT LIKE '49' AND category NOT LIKE '48' AND category NOT LIKE '46' AND category NOT LIKE '42' AND category NOT LIKE '30'  AND country LIKE 'Франция|США' AND allow_main=1"  . $where_date . " ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];
            $sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE {$stop_list}approve=1" . $where_date;
        
        }

 

Но проблема в том, что необходимо перечислять все возможные варианты AND country LIKE 'Франция|США' AND country LIKE 'Франция|Россия' AND country LIKE 'Франция|Германия' и т.д. 

 

Помогите оптимизировать данный запрос, чтобы выводились все варианты без такого перечисления в коде, может возможно это сделать одной командой AND country LIKE 'Франция|...' 

 

Та же ситуация с категориями AND category NOT LIKE '1' AND category NOT LIKE '1,4' приходится перечислять, в данном случае 1=экономика 4=политика, если AND category NOT LIKE '1', то не выведется экономика, но будет экономика, политика, поэтому необходимо AND category NOT LIKE '1,4'

 

Подскажите пожалуйста.

Изменено пользователем Wech2o
Ссылка на сообщение
Поделиться на других сайтах
Цитата

Правила форума

Внимание !!!

На данном форуме существуют достаточно жесткие правила, поэтому прежде чем создавать свою тему убедитесь, что вы внимательно их прочитали и поняли.

 

1. Если ваша тема начинается с вопроса и вам нужна какая либо помощь, то в самой теме в обязательном порядке вы должны указывать ссылку на ваш сайт. Если ваш сайт находится в локальной сети и вы не можете предоставить ссылку, или вы не хотите публиковать открытой ссылки на ваш сайт, то отправляйте персональное сообщение с вопросом в службу поддержки непосредственно с сайта http://dle-news.ru/, вам ответят на ваш вопрос в персональном порядке, в случае если пользуетесь платной версией скрипта и обладаете лицензией на скрипт. Если вы пользуетесь демоверсией, то вам необходимо разместить сайт в сети интернет, и только потом обращаться за помощью. По находящимся на локальных компьютерах демоверсиям никакой помощи и поддержки на форуме не оказывается. Если вы не указали сайт, то ваша тема будет закрыта, а аккаунт на форуме заблокирован.

 

2. На данном форуме строго запрещено предлагать или навязывать свои платные услуги. За любое сообщение типа "Помогу дешево, ICQ ..." участник блокируется на форуме без предупреждения.

 

3. Обязательно прочитайте разъясняющую тему http://forum.dle-news.ru/announcement/1-определение-понятия-нелегальной-копии-скрипта-и-понятия-nulled/

 

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...