Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы по PHP Массовое добавление категорий новостям как сделать?

Массовое добавление категорий новостям как сделать?


     12.12.2015    Общие вопросы по PHP    883

вопрос
Привет всем, в стандартной функции в админ панели dle есть массовые действия с новостями, а именно "".

в файле engine/inc/massactions.php есть код который отвечает за это:
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  смена категории
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
elseif( $action == "do_mass_move_to_cat" ) {
    
    $moved_articles = 0;
    
    $move_to_category = $db->safesql( implode( ',', $_REQUEST['move_to_category'] ) );
    
    foreach ( $selected_news as $id ) {
        $moved_articles ++;
        $id = intval( $id );
        
        $db->query( "UPDATE " . PREFIX . "_post set category='$move_to_category' WHERE id='$id'" );
    }

    $db->query( "INSERT INTO " . USERPREFIX . "_admin_logs (name, date, ip, action, extras) values ('".$db->safesql($member_id['name'])."', '{$_TIME}', '{$_IP}', '46', '')" );
    
    clear_cache();
    
    if( count( $selected_news ) == $moved_articles ) {
        msg( "info", $lang['mass_cat_ok'], "$lang[mass_cat_ok] ($moved_articles)", $_SESSION['admin_referrer'] );
    } else {
        msg( "error", $lang['mass_cat_notok'], $lang['mass_cat_notok_1'], $_SESSION['admin_referrer'] );
    }
}


Функция работает нормально, но мне нужно что было не изменить категорию, а добавить!

Допустим выбираю я 50 новостей к которым уже присвоены категории (стратегии, на время, гонки), так вот я хочу добавить ещё одну категорию этим 50 новостям 2016, что бы получилось (стратегии, на время, гонки, 2016).

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


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

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


Комментарии пользователей (4)

misha-koder
7

299 | 77

misha-koder - 12 декабря 2015 23:55 - Юзер


UPDATE " . PREFIX . "_post SET `category` = CONCAT(`category`, ',$move_to_category') WHERE `category` NOT REGEXP '[[:<:]]($move_to_category)[[:>:]]' AND `id` = '$id'

dolmatov
12 | 1

dolmatov - 13 декабря 2015 01:16 - Юзер

Огромное спасибо.

chaikago
1

chaikago - 27 января 2016 12:42 - Юзер

Пожалуйста, можно по подробнее. Не догнал куда этот код вставить.

Hunan
1

Hunan - 1 апреля 2016 06:47 - Юзер

Выполнить SQL запрос

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

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