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

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


     12.12.2015    Все вопросы » Общие вопросы по PHP    2911

вопрос
Привет всем, в стандартной функции в админ панели 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
Юзер

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
Юзер

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

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

chaikago
Юзер

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

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

Hunan
Юзер

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

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

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

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

наверх