Joomla.it Forum
Non solo Joomla... => Sviluppo => : 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 ;)
-
puoi postare la riga del codice incriminata? dall'errore il problema e' il ciclo foreach
-
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'];
}
-
bisognerebbe sapere come e' stato dichiarato $module e cio' che fa $module->position.
-
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 ::)
-
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.