Как добавлять или обновлять новости через sql по id в массиве?

Добавляю новости через sql так:

$db->query( "INSERT INTO " . PREFIX . "_post (date, autor, short_story, full_story, xfields, title, keywords, category, alt_name, allow_comm, approve, allow_main, fixed, allow_br, symbol, tags) 
values ('$thistime', '{$member_id['name']}', '$short_story', '$full_story', '$filecontents', '$title', '', '$category_list', '$alt_name', '$allow_comm', '$approve', '$allow_main', '$news_fixed', '$allow_br', '$catalog_url', '" . $_POST['tags'] . "')" );

$filecontents = test_id|1 - название дополнительного поля новости и его значение.

Пример запроса:

...
foreach($items -> channel -> item as $item) {

$test_id = $item->test_id; // $test_id = 500
$res = $db->query("SELECT xfields FROM " . PREFIX . "_post WHERE test_id|$test_id");
$count = mysql_num_rows($res);

if( $count > 0 ) {
  // UPDATE

} else {

 // INSERT INTO
$db->query( "INSERT INTO " . PREFIX . "_post (date, autor, short_story, full_story, xfields, title, keywords, category, alt_name, allow_comm, approve, allow_main, fixed, allow_br, symbol, tags) 
values ('2020-05-19 22:53:58', 'test', 'Быстро и качественно', '', 'test_id|$test_id||time|2', 'Создам баннер', '', '1', 'banner', 2, 1, 1, 1, 0, 0, 'баннер')" );

}

}

Как в цикле обновлять новости если test_id уже имеется в базе данных?

Как в цикле добавлять новость если test_id еще нет в базе данных?

Т.е. если test_id|500 есть в базе, значит обновить запись.

test_id|500 в базе нет, значит нужно добавить эту запись.

test_id уникальны как id новости.

Спасибо!


Ответы (0 шт):