Как сделать запрос к другой базе данных
Код создаёт блок с пятью последними сообщениями форума 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
Комментарии:
Нету комментариев для вывода...