Если обновляемое значение одинаковое, то делаем так:

UPDATE news SET title='test' WHERE id IN (1, 2, 3).

Если изменяемое значение для каждой записи разное, то это можно сделать таким запросом:

 UPDATE news SET
 title = CASE
 WHEN news_id = 1 THEN 'aa'
 WHEN news_id = 2 THEN 'bb' END
 WHERE news_id IN (1, 2)

Описанные способы работают в 2-3 раза быстрее, чем если бы Вы использовали циклы или несколько запросов.

Обновить несколько записей в таблице с помощью Codeigniter еще проще. Разработчики позаботились об этом, и сделали одну функцию update_butch. Почитать подробнее можно в официальной документации. Приведу пример из документации:

$data = array(
   array(
      'title' => 'My title' ,
      'name' => 'My Name 2' ,
      'date' => 'My date 2'
   ),
   array(
      'title' => 'Another title' ,
      'name' => 'Another Name 2' ,
      'date' => 'Another date 2'
   )
);

$this->db->update_batch('mytable', $data, 'title'); 

// Аналогично: 
// UPDATE `mytable` SET `name` = CASE
// WHEN `title` = 'My title' THEN 'My Name 2'
// WHEN `title` = 'Another title' THEN 'Another Name 2'
// ELSE `name` END,
// `date` = CASE 
// WHEN `title` = 'My title' THEN 'My date 2'
// WHEN `title` = 'Another title' THEN 'Another date 2'
// ELSE `date` END
// WHERE `title` IN ('My title','Another title')