Joomla.it Forum

Non solo Joomla... => Sviluppo => : october 30 May 2006, 16:31:47

: Componente e Database Esterno
: october 30 May 2006, 16:31:47
Ciao a tutti,
è la prima volta che scrivo in questo forum.

Veniamo al dunque
Sto provando a scrivere un componente per joomla, ma sono arrivato ad un punto fermo. Ho provato già a cercare, ma non ho trovato niente a riguardo.

Premetto che il componente sono riuscito ad installarlo.
In questo componente vorrei recuperare dei dati da un DB MySql diverso da quello di Joomla.

Es. se il DB di Joomla si chiama joomla001 e volessi connettere un altro DB tipo: anagrafica001 mi da un problema.
Le stringhe di connessione che uso io sono:
:
$dbhost = "localhost";
$dbuname = "xxxx";
$dbpass = "xxxx";
$dbname = "anagrafica001";

mysql_connect($dbhost,$dbuname,$dbpass) or die ("Non riesco a connettermi");
mysql_select_db("$dbname") or die ("Non riesco a selezionare il database");

Riesco a fare la connessione, ma non la selezione. Mi da il seguente errore:
:
Warning: Invalid argument supplied for foreach() in D:\Web\joomla\includes\frontend.php on line 64

Come mai ?
Si incavola perchè cerco di selezionare un altro db ?  ???
Quale potrebbe essere il metodo per connettere un altro DB ? ???

Vi ringrazio  ;)
: Re: Componente e Database Esterno
: giak 31 May 2006, 00:56:07
puoi postare la riga del codice incriminata? dall'errore il problema e' il ciclo foreach
: Re: Componente e Database Esterno
: october 01 Jun 2006, 11:33:43
Ecco il codice
:
function &initModules() {
global $database, $my, $Itemid;

if (!isset( $GLOBALS['_MOS_MODULES'] )) {
$query = "SELECT id, title, module, position, content, showtitle, params"
. "\n FROM #__modules AS m"
. "\n INNER JOIN #__modules_menu AS mm ON mm.moduleid = m.id"
. "\n WHERE m.published = 1"
. "\n AND m.access <= '". $my->gid ."'"
. "\n AND m.client_id != 1"
. "\n AND ( mm.menuid = '". $Itemid ."' OR mm.menuid = 0 )"
. "\n ORDER BY ordering";

$database->setQuery( $query );
$modules = $database->loadObjectList();
Line 64 foreach ($modules as $module) {
$GLOBALS['_MOS_MODULES'][$module->position][] = $module;
}
}
return $GLOBALS['_MOS_MODULES'];
}
: Re: Componente e Database Esterno
: giak 01 Jun 2006, 13:04:36
bisognerebbe sapere come e' stato dichiarato $module e cio' che fa $module->position.
: Re: Componente e Database Esterno
: october 01 Jun 2006, 14:22:11
bisognerebbe sapere come e' stato dichiarato $module e cio' che fa $module->position.
Ma dovrei dischiaralo io ? se si dove e come ?
Non sono un guru del PHP  ::)
: Re: Componente e Database Esterno
: giak 01 Jun 2006, 15:57:08
non conoscendo il componente su cui stati lavorando e' difficile dire dove devi mettere le mani, comunque ti consiglio di dare un occhio al manuale di php (http://www.php.net/manual/it/) anche perche' per la programmazione a oggetti ci sono diverse diffrenze tra il php 4 il php 5.