Как сделать запрос к другой базе данных

Код создаёт блок с пятью последними сообщениями форума IPB, база которого называется ipb_base:
/**
 * Implements hook_block()
 */
function mymodule_block($op = 'list', $delta = 0, $edit = array()) {
  if ($op == 'list')  {
    $blocks[0]['info'] = 'Последние сообщения на форуме';
    return $blocks;
  }
 
  if ($op == 'view') {
    global $db_url;
 
    // параметры новой бд
    $ipb_db_url = 'mysqli://root:qwerty@localhost/ipb_base';
 
    if (is_array($db_url)) {
      $db_url += array('ipb' => $ipb_db_url);
    }
    else {
      $db_url = array('default' => $db_url, 'ipb' => $ipb_db_url);
    }
 
    // подключаемся к новой бд
    $prev_db = db_set_active('ipb');
 
    // делаем запрос
    $posts = db_query_range("SELECT author_name, post FROM `posts` ORDER BY pid DESC", 0, 5);
 
    // подключаемся к предыдущей бд
    db_set_active($prev_db);
 
    $items = array();
    while ($post = db_fetch_object($posts)) {
      $items[] = $post->author_name . ': ' . $post->post;
    }
 
    $block['subject'] = 'Последние сообщения на форуме';
    $block['content'] = theme('item_list', $items);
 
    return $block;
  }
}

Написанное актуально для
Drupal 6.x
Теги:
работа с бд, работа с блоками
Добавлено: 26 Июля 2018 19:19:20 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...