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

Как увеличивать счётчик количества новостей пользователя только при добавлении в определённую категорию (см. часть кода)?


     21.07.2015    Все вопросы » Общие вопросы по PHP    1900

вопрос
Здравствуйте!

Счётчик изменяется в момент публикации новости, т.е. если пользователь добавляет новость через сайт, нам надо сделать проверку категории в addnews.php.

Например, нам нужно только при добавлении в категорию "1"

Строчку, которая отвечает за изменение счётчика, я обернул в if:
if( $caterogy = '1' ) {
$db->query( "UPDATE " . USERPREFIX . "_users set news_num=news_num+1 where user_id='{$member_id['user_id']}'" );
}
Но ничего не работает. Вместо $caterogy я пробовал $category_list и, отчаявшись, даже $catlist, хотя это из другой песни немного.

Что же сделать?

P.S. Поддержка мультикатехорий отключена, если это имеет значение.

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


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

Lashchevsky
Юзер

Lashchevsky - 21 июля 2015 01:25 -

AZBUKA, каким образом ты себе это представляешь?

Это делается только средствами PHP.

Lashchevsky
Юзер

Lashchevsky - 21 июля 2015 01:41 -

Вот зачем было писать сразу ответ, если ответ вообще никак не связан с моим вопросом?

Azbuka
Юзер

Azbuka - 21 июля 2015 10:27 -

попробуй через дополнительно поле.
Создаешь, выбираешь для какой категории использовать и туда вставь нужный код!


Для того чтобы использовать поле на странице с новостями, Вам необходимо в шаблон добавить переменную [xfvalue_X], где X - значение поля (имя, которое Вы ввели при добавлении нового поля). Также можно использовать связку [xfgiven_X]...[/xfgiven_X], которые выводят текст указанный в них если дополнительное поле было задано. А также можно использовать связку [xfnotgiven_X]...[/xfnotgiven_X], которые выводят текст указанный в них если дополнительное поле не было задано.

ПафНутиЙ
Админ

ПафНутиЙ - 21 июля 2015 10:32 -

Проверяйте
$_POST['category']
- это, если не ошибаюсь, массив, содержащий id выбранной категории.
к тому же условие у вас неверное
if( $caterogy = '1' )
одинарный знак равенства — присвоение переменной некоего значения, используйте двойной знак
if( $caterogy == '1' )

Каков вопрос - таков и ответ. Просто помните об этом.

Lashchevsky
Юзер

Lashchevsky - 21 июля 2015 13:11 -

Дурак я.
Действительно, вся проблема была в одинарном знаке равенства. А...
$_POST['category']
...к сожалению не подошёл. Подошёл
$caherogy_list
Т.е. в результате получилось так:
if( $category_list == '11' or $category_list == '12' or $category_list == '13' or $category_list == '14' or $category_list == '15' ) {
      $db->query( "UPDATE " . USERPREFIX . "_users set news_num=news_num+1 where user_id='{$member_id['user_id']}'" );
}

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

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

наверх