Autore Topic: Componente e Database Esterno  (Letto 5135 volte)

Offline october

  • Esploratore
  • **
  • Post: 62
  • Sesso: Maschio
    • Mostra profilo
Componente e Database Esterno
« il: 30 Mag 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:
Codice: [Seleziona]
$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:
Codice: [Seleziona]
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  ;)

Offline giak

  • Team Joomla.it
  • Abituale
  • *******
  • Post: 1259
  • Sesso: Maschio
    • Mostra profilo
Re: Componente e Database Esterno
« Risposta #1 il: 31 Mag 2006, 00:56:07 »
puoi postare la riga del codice incriminata? dall'errore il problema e' il ciclo foreach
webmaster
www.egiakweb.net
 Developer pgDesigner - Datamodel designer for PostgreSQL pgdesigner.sourceforge.net  I belive! Free as in Freedom www.gnu.org

Offline october

  • Esploratore
  • **
  • Post: 62
  • Sesso: Maschio
    • Mostra profilo
Re: Componente e Database Esterno
« Risposta #2 il: 01 Giu 2006, 11:33:43 »
Ecco il codice
Codice: [Seleziona]
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'];
}

Offline giak

  • Team Joomla.it
  • Abituale
  • *******
  • Post: 1259
  • Sesso: Maschio
    • Mostra profilo
Re: Componente e Database Esterno
« Risposta #3 il: 01 Giu 2006, 13:04:36 »
bisognerebbe sapere come e' stato dichiarato $module e cio' che fa $module->position.
webmaster
www.egiakweb.net
 Developer pgDesigner - Datamodel designer for PostgreSQL pgdesigner.sourceforge.net  I belive! Free as in Freedom www.gnu.org

Offline october

  • Esploratore
  • **
  • Post: 62
  • Sesso: Maschio
    • Mostra profilo
Re: Componente e Database Esterno
« Risposta #4 il: 01 Giu 2006, 14:22:11 »
Citazione
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  ::)

Offline giak

  • Team Joomla.it
  • Abituale
  • *******
  • Post: 1259
  • Sesso: Maschio
    • Mostra profilo
Re: Componente e Database Esterno
« Risposta #5 il: 01 Giu 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 anche perche' per la programmazione a oggetti ci sono diverse diffrenze tra il php 4 il php 5.
webmaster
www.egiakweb.net
 Developer pgDesigner - Datamodel designer for PostgreSQL pgdesigner.sourceforge.net  I belive! Free as in Freedom www.gnu.org

 

Host

Torna su