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

Запретить вывод новостей определенной категории при поиске


     11.11.2012    поиск, поиск по сайту    Все вопросы » Общие вопросы по PHP    4517

вопрос
Вечер добрый!
Хочу запретить вывод новостей из ненужных категорий в поиске.
Я делал так:
в search.php (modules) вместо:
$where_posts = "WHERE " . PREFIX . "_post.approve=1" . $this_date;

написал
$where_posts = "WHERE " . PREFIX . "_post.approve=1 AND categoryXX" . $this_date;

где XX - это номер категории, но мне нужно несколько категорий написать.
Вопрос: как запретить вывод новостей ненужных категорий?
Спасибо!

Ответил: ПафНутиЙ


Нужно вот так:
$where_posts = "WHERE " . PREFIX . "_post.approve=1 AND NOT category regexp "[[:<:]](1|2|3)[[:>:]]" . $this_date;

тогда в поиске не будет категорий 1,2 и 3

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

Slavchik
Юзер

Slavchik - 15 ноября 2012 07:09 -

ПафНутиЙ, твойпример выдает ошибку:
Parse error: syntax error, unexpected '[' in /home/slavchik/domains/site.ru/public_html/engine/modules/search.php on line 570 

Slavchik
Юзер

Slavchik - 16 ноября 2012 07:02 -

кавычки нужно одинарные ставить
'[[:<:]](1|2|3)[[:>:]]'

MAPKOBKA
Юзер

MAPKOBKA - 13 июля 2013 19:08 -

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING

Не работает ни с двойными ни с одинарными кавычками. DLE 10

Gopr
Юзер

Gopr - 24 сентября 2013 16:28 -

$where_posts = "WHERE " . PREFIX . "_post.approve=1 AND NOT category regexp '[[:<:]](8|11)[[:>:]]'" . $this_date;
Работает, после
'[[:<:]](8|11)[[:>:]]'
нужно еще одну двойную кавычку
"

swart
Юзер

swart - 6 сентября 2013 15:36 -

можно написать так $where_posts = "WHERE " . PREFIX . "_post.approve=1 AND category NOT LIKE 1 AND category NOT LIKE 2 " . $this_date; и так далее...

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

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

наверх