Back to top

Autore Topic: come collegare un DB esterno al mio template?  (Letto 5344 volte)

Offline singsong

  • Nuovo arrivato
  • *
  • Post: 7
    • Mostra profilo
come collegare un DB esterno al mio template?
« il: 19 Apr 2010, 17:12:23 »
Salve a tutti.
Sto costruendo un sito con un template di mia creazione. Purtroppo è tutto ancora in locale e al momento è difficile pubblicare qualcosa, ma cercherò di farvi capire al meglio il mio problema.
Ho la necessità di interrogare un mio database per alcune funzionalità del sito, quindi all'inizio del mio index.php scrivo "include collegadb.php" per importare i parametri di connessione presenti all'interno di questo file.
Ora il problema è che non appena Joomla legge questa riga, non mi fa più visualizzare i moduli che avevo caricato all'interno del template (ad esempio non visualizzo più il modulo di login, per dirne uno), quindi suppongo che si incasina con i vari collegamenti ai database. La domanda è come faccio a tenere i due database funzionali e funzionanti, oppure, come importo il mio database all'interno di quello di Joomla così da risparmiarmi altre connessioni?
Spero di aver esposto al meglio il problema, mi affido ai vostri consigli!!!

Un saluto, Seby

Offline frascan

  • Global Moderator
  • Instancabile
  • ********
  • Post: 4996
  • Sesso: Maschio
    • Mostra profilo
Re:come collegare un DB esterno al mio template?
« Risposta #1 il: 19 Apr 2010, 17:40:08 »
Ciao.
Hai esposto bene il problema.
La soluzione ammesso che esista dipende dalla struttura del tuo database; dai dati che contiene e da cosa devi fare con tali dati.
Nulla vieta di sviluppare un componente ad hoc per il tuo database o di adattare un componente esistente per importare il tuo database.
Per la natura stessa delle cose un esploratore non può mai sapere che cosa stia esplorando finché l’esplorazione non sia stata compiuta.

Offline singsong

  • Nuovo arrivato
  • *
  • Post: 7
    • Mostra profilo
Re:come collegare un DB esterno al mio template?
« Risposta #2 il: 19 Apr 2010, 17:58:15 »
Nulla vieta di sviluppare un componente ad hoc per il tuo database o di adattare un componente esistente per importare il tuo database.
Innanzitutto ti ringrazio per la pronta risposta. Il mio db contiene prevalentemente dati geografici che aggiungono ad una mappa delle funzionalità, come ad esempio la visualizzazione di un percorso predefinito o di punti specifici.
Potresti gentilmente espormi qualche componente che possa utilizzare per importare il db? E poi come mai i moduli non vengano caricati mentre il contenuto (per intenderci la parte <jdoc:include type"component" />) viene tranquillamente visualizzato?

Offline frascan

  • Global Moderator
  • Instancabile
  • ********
  • Post: 4996
  • Sesso: Maschio
    • Mostra profilo
Re:come collegare un DB esterno al mio template?
« Risposta #3 il: 19 Apr 2010, 18:39:35 »
Beh direi che non è una cosa da nulla da quello che riesco a capire. Hai un db con dei dati che vengono pescati ed vengono visualizzati su una mappa mi pare di capire.
è qualcosa di simile alla mappa degli utenti di joomla.it per intenderc bene?
Per la natura stessa delle cose un esploratore non può mai sapere che cosa stia esplorando finché l’esplorazione non sia stata compiuta.

Offline singsong

  • Nuovo arrivato
  • *
  • Post: 7
    • Mostra profilo
Re:come collegare un DB esterno al mio template?
« Risposta #4 il: 20 Apr 2010, 09:40:13 »
Sì esatto, è una cosa del genere, anzi forse un pò più complicata, ma il principio è quello.
Ora, vorrei capire se partendo dalle cose semplici possiamo aggirare il problema; mi spiego meglio:come faccio a inserire le tabelle del mio database in quello di joomla? Devo nominare tutte le tabelle nuove con il prefisso jos_? Rischio un problema di conflitti tra tabelle? Devo necessariamente creare dei componenti abbinati a queste nuove tabelle o possono essere indipendenti?
Chiunque mi possa aiutare si faccia avanti, per favore!!!

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:come collegare un DB esterno al mio template?
« Risposta #5 il: 20 Apr 2010, 10:56:47 »
ciao,
 a meno che non vi si siano tabelle con nomi duplicati due database, diciamo logici, possono coesistere nello stesso spazio fisico.
Fondamentalmente questo è il motivo per cui quasi tutte le applicazioni adottano un prefisso per le proprie tabelle: in questo differenti applicazioni possono condividere lo stesso db.

ora se vuoi integrare la tua applicazione in joomla è bene adottare la convenzione di naming del cms, altrimenti sarebbe meglio di no, al fine di non ingenerare confusione.

tornando invece al tuo primo post devi aver commesso qualche errore in collegadb.php, non è che usi gli stessi nomi di var di configuration.php?

ciao,
marco

mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline singsong

  • Nuovo arrivato
  • *
  • Post: 7
    • Mostra profilo
Re:come collegare un DB esterno al mio template?
« Risposta #6 il: 20 Apr 2010, 11:14:05 »
Ciao Marco e grazie della risposta.
Dunque, visto che non ci sono dati in comune tra i miei database, semplicemente "copiando" le mie tabelle nel database di joomla non ci dovrebbero essere problemi? è corretto?

Per quel che riguarda il file collegadb.php, eccolo:

Codice: [Seleziona]
<?php

// dati di accesso
$host 'localhost';
$login 'root';
$password 'password';
$db 'mio_db';

// connessione
$conn mysql_connect($host,$login,$password) or 
die('Connessione fallita: ' mysql_error());

// seleziona database
mysql_select_db($db$conn) or 
die('Selezione database fallita: ' mysql_error());


?>

In configuration.php cambia ovviamente il nome del database, ma i parametri di accesso sono quelli. Dove sbaglio? Ricordo che il problema si creava perchè chiamavo questo file con un include all'inizio del mio index (ma proprio all'inizio, prima ancora del Doctype).
Sono qui che pendo dalle vostre labbra, o meglio, dai vostri digit!!  ;D

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:come collegare un DB esterno al mio template?
« Risposta #7 il: 20 Apr 2010, 11:29:11 »
a memoria la sintassi mi sembra corretta (immagino tu l'abbia verificata). il problema potrebbe essere che alcune query all'interno di joomla non specifichino l'handle e quindi prendano l'ultima connessione aperta, che è quella al tuo db.

attiva il debug, dall'errore saprai subito se è così.

ciao,
marco
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

 



Web Design Bolzano Kreatif