Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Как не отображать публикации с определенным значением доп поля?

Как не отображать публикации с определенным значением доп поля?


     15.09.2020    dle, новости, php    Общие вопросы по PHP, Хаки, MySQL    1091

вопрос
Вопрос может показаться банальным, но это не совсем так.
Движок генерирует новости и в зависимости от указанного кол-ва новостей в настройках движка выводит их на странице main.
На сайте есть доп поле 'pole' и есть публикации со значением этого поля равным '0'. Как не просто спрятать из виду эти публикации, а вообще не генерировать их на странице на уровне движка php? Т.е если бы я хотел просто скрыть это новости, я бы сделал:

[ifxfvalue pole="0"] style="display:none;" [/ifxfvalue]

Но мне нужно чтобы новости вообще не генерировались движком с полем = '0'. Это возможно?

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


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

TeraMoune
Эксперт

TeraMoune - 15 сентября 2020 04:27 -

В запросах дополнительно использовать это
SUBSTRING_INDEX(SUBSTRING_INDEX(xfields,  'pole|', -1), '||', 1) != '0'

Тестовый репозиторий установки плагинов: teramoune

Invokerlover
Юзер

Invokerlover - 15 сентября 2020 04:28 -

Это все в show.short.php show.custom и тд. Верно понимаю?

TeraMoune
Эксперт

TeraMoune - 15 сентября 2020 04:32 -

Нет это только в engine.php именно там все запросы на поиск новостей. Запросы в $sql_select и $sql_count

Тестовый репозиторий установки плагинов: teramoune

Invokerlover
Юзер

Invokerlover - 15 сентября 2020 04:44 -

Что-то не сработало, делал как вы сказали
Вот например:

$sql_select = "SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(xfields,  'price|', -1), '||', 1) != '0', p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, 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 {$join_category}LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) WHERE {$where_category}approve=1" . $where_date . " ORDER BY " . $fixed . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];
				$sql_count = "SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(xfields,  'price|', -1), '||', 1) != '0', COUNT(*) as count FROM " . PREFIX . "_post p {$join_category}WHERE {$where_category}approve=1" . $where_date;

TeraMoune
Эксперт

TeraMoune - 15 сентября 2020 04:49 -

А я ничего не писал еще как делать, я думал Вы понимаете разницу между SELECT и WHERE.

Тестовый репозиторий установки плагинов: teramoune

Invokerlover
Юзер

Invokerlover - 15 сентября 2020 04:57 -

и после where вставлял, не хочет

Invokerlover
Юзер

Invokerlover - 15 сентября 2020 05:00 -

А всё, разобрался. Спасибо !

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

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

наверх