LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
26.05.2012, 00:58:48 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: Подключение к сторонней БД  (Прочитано 1055 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Joker
Давно я тут
****

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 383



« : 13.05.2010, 12:45:24 »

Добый день, Joostina 1.2

можно ли реализовать чтобы при определенных условиях (выбор условия в форме) подключаться к сторонней БД и выаолнять Update/INSERT

пример
Цитировать
     $database->setQuery("INSERT INTO таблица (name_firm,descrip,id_categ) VALUES ('{$_name}','{$_description}','{$id_categ}')");
     $database->query();
     $id_firm = $database->insertid();

условие если $id_categ=2 , то подключиться к другой БД и выполнить INSERT в ней  можно ли это сделать используя синтаксис Joomla или только так ?

Цитировать
if ($id_categ=='2')
{
    mysql_connect("localhost", "mysql_user", "mysql_password") or die("Could not connect: " . mysql_error());
    mysql_select_db("БАЗА2");
    mysql_query("INSERT INTO таблица (name_firm,descrip,id_categ) VALUES ('{$_name}','{$_description}','{$id_categ}')");
    $id_firm = mysql_insert_id();
}
else
{
     $database->setQuery("INSERT INTO таблица (name_firm,descrip,id_categ) VALUES ('{$_name}','{$_description}','{$id_categ}')");
     $database->query();
     $id_firm = $database->insertid();
}


Записан
Joker
Давно я тут
****

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 383



« Ответ #1 : 16.05.2010, 07:24:42 »

в файле databese.php
идет ф-я
   function database($host = 'localhost',$user,$pass,$db = '',$table_prefix = '',$goOffline = true) {

в которой насколько я понимаю можно отправить новое подключение к БД, как это сделать? если можно пример
Записан
MuraDweb
Support Team
*****

Репутация: +121/-1
Offline Offline

Пол: Мужской
Сообщений: 666



« Ответ #2 : 16.05.2010, 09:35:58 »

Код
$newDB = new database::database($host = 'newdbhost.ru', $user = 'newUser', $pass = 'newPwd', $db = 'NEWdb', $table_prefix = '', $goOffline = true);
$newquery = "INSERT INTO newtable (name_firm,descrip,id_categ) VALUES ('{$_name}','{$_description}','{$id_categ}')";
$newDB->setQuery($newquery);
хотя если часто используется то по уму лучше наверное дописать в отдельном файле новый класс расширяющий основной класс database и подключать потом в нужном месте. В общем, что-то в этом роде, не ?
Записан
Joker
Давно я тут
****

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 383



« Ответ #3 : 16.05.2010, 10:47:08 »

MuraDweb, спасибо большое

и немного поправлю
достаточно

$newDB = new database($host = 'newdbhost.ru', $user = 'newUser', $pass = 'newPwd', $db = 'NEWdb', $table_prefix = '', $goOffline = true);
« Последнее редактирование: 16.05.2010, 11:31:57 от Joker » Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet