Доступ к данным из другой базы данных в Joomla 3.2+ -- php поле с участием mysql поле с участием database поле с участием joomla пол Связанный проблема

Accessing data from another database in Joomla 3.2+


1
vote

проблема

русский

Я обновляю свои компоненты от Joomla 1.7 до Joomla 3.3 и должен держать оригинальную базу данных. Поэтому мне необходимо получить доступ к данным отображения из другой базы данных в качестве базы данных установки. Я попробовал метод, который я использовал много раз раньше с Joomla 2.5, но кажется, что я не могу получить это правильно на этот раз.

в моей модели в <Код> getListQuery() Метод (который переопределяет метод Modellist) Я использую следующий код для доступа к базе данных, откуда я хочу получить мои данные:

 <код> propertyGrid.PropertySort = PropertySort.Categorized; propertyGrid.PropertySort = PropertySort.CategorizedAlphabetical; 0  

Где детали подключения моей старой базы данных содержатся в propertyGrid.PropertySort = PropertySort.Categorized; propertyGrid.PropertySort = PropertySort.CategorizedAlphabetical; 1 .

Я продолжаю использовать следующий код:

 <код> propertyGrid.PropertySort = PropertySort.Categorized; propertyGrid.PropertySort = PropertySort.CategorizedAlphabetical; 2  

Я включаю в начале следующие:

 <код> propertyGrid.PropertySort = PropertySort.Categorized; propertyGrid.PropertySort = PropertySort.CategorizedAlphabetical; 3  

Modellist расширяет jmodellegacy, поэтому я считаю, что он использует следующее:

 <код> propertyGrid.PropertySort = PropertySort.Categorized; propertyGrid.PropertySort = PropertySort.CategorizedAlphabetical; 4  

Но это дает мне ошибку, что таблица newdatabase.table не выходит и, следовательно, метод, который я использую, не подключается к моей старой базе данных, чтобы получить данные из Olddatabase.table.

Я не уверен в включении <код> propertyGrid.PropertySort = PropertySort.Categorized; propertyGrid.PropertySort = PropertySort.CategorizedAlphabetical; 5 , хотя может быть проблема?

Любой, кто может помочь получить данные из моей оригинальной базы данных?

Английский оригинал

I am upgrading my components from Joomla 1.7 to Joomla 3.3 and have to keep the original database. Therefore I need to access the display data from another database as the installation database. I tried a method that I used many times before with Joomla 2.5 but it seems that I cannot get it right this time.

In my model in the getListQuery() method (which overrides the modellist method) I use the following code to access the database from where I want to get my data:

$dbOptions = getDbOptions(); $db = & JDatabase::getInstance($dbOptions);  

where the connection details of my old database are contain in $dbOptions.

I continue to use the following code:

$query = $db -> getQuery(true); $query -> select('*') -> from('table'); return $query; 

I do include the following in the beginning:

jimport('joomla.application.component.modellist'); 

modellist extends JModelLegacy, therefore I do believe that it uses the following:

/libraries/legacy/model/list.php 

But it gives me an error that the table newDatabase.table does not exits and therefore the method I am using does not connect to my old database to retrieve the data from oldDatabase.table.

I am unsure about the inclusion of jimport('joomla.application.component.modellist'); though, could be the problem?

Anyone who can help to retrieve the data from my original database?

</div
           

Список ответов

1
 
vote
vote
Лучший ответ
 

Если вся модель просто выясняет данные из внешней базы данных, вы можете использовать jdatabase- & gt; setdbo для замены объекта базы данных по умолчанию с вашим пользователем.

 <код> package2  

Теперь вы должны иметь возможность получить доступ к базе данных в GetListQuery () так же, как и в базе данных по умолчанию. Например.

 <код> package3  
 

If the entire model is just fetching data from the external database you could use JDatabase->setDbo to replace the default database object with your custom one.

public function __construct($config = array()) {     parent::__construct($config);      $options = array();     $options['driver']   = 'mysqli';     $options['host']     = 'localhost';     $options['user']     = 'username';     $options['password'] = 'password';     $options['database'] = 'database';     $options['prefix']   = 'jos_';      $db = JDatabase::getInstance( $options );     parent::setDbo($db); } 

Now you should be able to access the database in getListQuery() just as you would with your default database. E.g.

$db = JFactory::getDbo(); 
</div
 
 
   
   
2
 
vote

Если старая база данных на одном сервере и активном пользователе MySQL имеет доступ для него, вы можете использовать такой SQL-запрос:

 <код> $query = $db -> getQuery(true); $query -> select('*') -> from('old_database.table'); return $query;   
 

If old database on same server and active mysql user has access for it you can use such sql query:

$query = $db -> getQuery(true); $query -> select('*') -> from('old_database.table'); return $query; 
</div
 
 
 
 
1
 
vote

Я считаю, что код ADAM B может иметь некоторое улучшение, относительно установки БД.

 <код> public function __construct($config = array()) {     $options = array(         'driver'   => 'mysqli',         'host'     => 'localhost',         'user'     => 'username',         'password' => 'password',         'database' => 'database',         'prefix'   => 'jos_'     );      //parent construct will handle setting the DB     $config['dbo']=JDatabase::getInstance( $options );      parent::__construct($config); }   

и получение БД: я думаю, <код> JFactory::getDbo(); даст вам неверную БД, вы должны сделать:

 <код> self:getDbo();   
 

I believe Adam B's code can have some improvement, regarding setting DB.

public function __construct($config = array()) {     $options = array(         'driver'   => 'mysqli',         'host'     => 'localhost',         'user'     => 'username',         'password' => 'password',         'database' => 'database',         'prefix'   => 'jos_'     );      //parent construct will handle setting the DB     $config['dbo']=JDatabase::getInstance( $options );      parent::__construct($config); } 

And getting DB: I think JFactory::getDbo(); will give you the wrong DB, you should do:

self:getDbo(); 
</div
 
 
0
 
vote

Использование Joomla 2.5, этот подход работал для меня:

 <код>  $option = array();    $option['driver']   = 'mysql';    $option['host']     = 'localhost';    $option['user']     = 'XXXXXXXX';    $option['password'] = 'XXXXXXXX';    $option['database'] = 'wordpress';    $option['prefix']   = 'jtt_';    $db = JDatabase::getInstance( $option );    $query = "select * from #__categories";    $db->setQuery($query);   

Я смог подключиться к другой базе данных просто отлично.

 

Using Joomla 2.5, this approach worked for me:

 $option = array();    $option['driver']   = 'mysql';    $option['host']     = 'localhost';    $option['user']     = 'XXXXXXXX';    $option['password'] = 'XXXXXXXX';    $option['database'] = 'wordpress';    $option['prefix']   = 'jtt_';    $db = JDatabase::getInstance( $option );    $query = "select * from #__categories";    $db->setQuery($query); 

I was able to connect to another database just fine.

</div
 
 

Связанный проблема

2  Добавить партнерский код трекера на Virtuemart Спасибо страницу  ( Add affiliate tracker code to virtuemart thank you page ) 
Я хочу добавить код партнерского трекера на мой сайт на основе Joomla, используя VirtueMart. Они сказали мне, чтобы добавить код на страницу спасибо, но я не ...

1  Как создавать пользовательские пользовательские группы в Joomla  ( How to create custom usergroups in joomla ) 
Есть ли способ создавать пользовательские группы пользователей в Joomla? ...

0  В Joomla - как изменить текст ссылки при изменении названия статьи?  ( In joomla how to change link text when article title changes ) 
Это похоже, что он должен быть легко в любых CMS, но до сих пор я втуман. Желаемое поведение: . Написать статью, давая ей название AAA Написать вторую с...

0  Как сделать два веб-сайта как один - какие особенности важны?  ( How to make two web sites appear as one what features are important ) 
Я собираюсь написать тендер. Решение может быть CMS на базе PHP. Позже я могу захотеть интегрировать Framework Asp.net и заставить ее выглядеть как один сайт....

0  Создание компонентов SEF URL в Joomla  ( Generating component sef urls in joomla ) 
У меня есть пользовательский компонент Joomla и маршрутизатор для создания моего SEF URL для использования на сайте, и все обычно блестящие - внутренне, все м...

2  Добавление определенного страницы JavaScript или CSS в Joomla  ( Add page specific javascript or css in joomla ) 
Как вы включаете файл JavaScript или CSS только на определенной статье в Joomla? У меня есть одна статья, которая требует jQuery UI и ассоциированная тема. ...

3  Название страницы Joomla (показано дважды)  ( Joomla page title shown twice ) 
У меня проблема с заголовком моих страниц в Joomla 2.5.2. Например, имя моего сайта будет: «Большой проект», и я установил, что параметр «включает имя сайта...

0  Как установить названия для веб-страниц?  ( How to set titles for the web pages ) 
У меня есть 2.5.6, как я могу создать новую веб-страницу с новым названием? Теперь у меня есть панель навигации, а заголовок страниц соответствуют тексту в эл...

3  показать только содержание статьи  ( Show only the content of article ) 
Как мне показано только контент в одной статье? Я использую Joomla 2.5 и Ajax, чтобы вызвать единую статью, но когда я оказываю статью в теге <div> , я еще...

1  Joomla 1.5 Проверка пароля  ( Joomla 1 5 password check ) 
Я унаследовал сайт Joomla 1.5, который имеет компонент пароля сброса, который не функционирует оптимально. AMM Я могу иметь пароль, отправляемые пользователю ...

-1  Как создать статью с PHP в Joomla 2.5 [дубликат]  ( How to create an article with php in joomla 2 5 ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> Этот вопрос уже есть ответы здесь : ...

0  Как добавить функцию SMS на сайт? На стороне администратора  ( How to add sms feature to a websiteon admin side ) 
Я разработал школьный сайт. В этом я хочу добавить <код> SMS отправляющей функции (<код> Bulk and Individual ) на стороне администратора Так что все родители...

4  Joomla Восточное аутентификация от внешнего приложения  ( Joomla login authentication from external app ) 
Мне нужно проверить, что joomla имя пользователя и пароль действителен от моего внешнего приложения. Не нужно, чтобы пользователь вошел в систему только ч...

0  Миграция из Joomla 2.5.17 к Joomla 3.2.1 не удалось  ( Migrate from joomla 2 5 17 to joomla 3 2 1 failed ) 
Я пытаюсь обновить свой веб-сайт из Joomla 2.5.17 до Joomla 3.2.1. На сайте очень мало 3-го вечеринчатых расширений. Сначала я восстановил мой сайт на моем ...

0  Как сделать Joomla Configuration XML  ( How to make joomla configuration xml ) 
Я искал Интернет и не нашел ничего, что объяснил это четко. Я хочу создать конфигурацию к моим компоненте и модулю, но не знаю, с чего начать или как начать...

0  Coldfusion Ссылки перенаправления к Joomla  ( Coldfusion links redirection to joomla ) 
Мне нужно держать мои старые ссылки ColdFusion в моем новом сайте Joomla. Мне нужно добавить механизм перенаправления в Joomla, как Все URL-адреса, такие как ...

1  Joomla www, применение URL с .htaccess, не работает, как это должно  ( Joomla www enforcing in urls with htaccess not working as it should ) 
У меня есть веб-сайт Joomla 1.6, и я хочу обеспечить принуждение www в начале URL. Я написал следующее в HTACCESS: <код> RewriteCond %{http_host} ^example.c...

0  Joomla - Создайте плагин, который меняет страницы Название и описание  ( Joomla create a plugin that changes pages title description ) 
Я Joomla Noob, и я знаю, как создать контент Joomla Plugin, который печатает текст сразу после названия статьи, используя слушатель события <код> onContentAft...

1  Как получить изображение, чтобы показать на панели меню Joomla  ( How to get an image to show up over a joomla menu bar ) 
Я пытаюсь заставить One Div, содержащий изображение, чтобы показать на меню Joomla ... тот, который я хочу сверху, находится в нижней части кода под названием...

1  Как использовать OpenID в Joomla 2.5 или 1.7  ( How to using openid in joomla 2 5 or 1 7 ) 
в Joomla 1.5 имеют плагин <код> Authentication - Openid , но в Joomla 2.5 этот плагин не видит, как настроить открытый идентификатор в Joomla 2.5 ...

0  Дата и время PHP  ( Php date and time ) 
У меня есть сайт Joomla 3 и использую этот код, чтобы потянуть данные из базы данных <код> <?php $db = JFactory::getDbo(); $query = $db->getQuery(true); $...

0  Позвоните Ajax с Mootools  ( Call ajax with mootools ) 
Привет всем, что я называю ajax с mothols и получить эту ошибку, я ищу интернет, но не найду ничего Это мой код, чтобы позвонить Ajax <код> $$('.item-129...

3  Получайте отдых УРИС в Joomla?  ( Getting rest ful uris in joomla ) 
Используя свой собственный компонент Joomla 1.5, модуль или плагин, как бы я повернул запрос на REST URL, как <код> foo.com/api/... в соответствующие эхо () ...

0  Joomla Mootools обновление аварий  ( Joomla mootools upgrade crashes ) 
У меня проблема, я пытаюсь решить несколько дней сейчас. Мы включили плагин Mootools 1.2 в Joomla 1.5, поэтому мы можем использовать некоторые библиотеки, пре...

0  Изменение заголовка цвета в теме Zephyr на Joomla  ( Changing title color in zephyr theme on joomla ) 
Joomla! 1.5 Версия вопроса шаблона Zephyr Я искал продолжительностью, но не нашел прямого параллельно по моей проблеме, но я надеюсь, что это простой. Все...

Связанный проблема

2  Добавить партнерский код трекера на Virtuemart Спасибо страницу 
1  Как создавать пользовательские пользовательские группы в Joomla 
0  В Joomla - как изменить текст ссылки при изменении названия статьи? 
0  Как сделать два веб-сайта как один - какие особенности важны? 
0  Создание компонентов SEF URL в Joomla 
2  Добавление определенного страницы JavaScript или CSS в Joomla 
3  Название страницы Joomla (показано дважды) 
0  Как установить названия для веб-страниц? 
3  показать только содержание статьи 
1  Joomla 1.5 Проверка пароля 
-1  Как создать статью с PHP в Joomla 2.5 [дубликат] 
0  Как добавить функцию SMS на сайт? На стороне администратора 
4  Joomla Восточное аутентификация от внешнего приложения 
0  Миграция из Joomla 2.5.17 к Joomla 3.2.1 не удалось 
0  Как сделать Joomla Configuration XML 
0  Coldfusion Ссылки перенаправления к Joomla 
1  Joomla www, применение URL с .htaccess, не работает, как это должно 
0  Joomla - Создайте плагин, который меняет страницы Название и описание 
1  Как получить изображение, чтобы показать на панели меню Joomla 
1  Как использовать OpenID в Joomla 2.5 или 1.7 
0  Дата и время PHP 
0  Позвоните Ajax с Mootools 
3  Получайте отдых УРИС в Joomla? 
0  Joomla Mootools обновление аварий 
0  Изменение заголовка цвета в теме Zephyr на Joomla