+ Antworten
Ergebnis 1 bis 8 von 8

Thema: Daten aus zweiter Joomla DB laden

  1. #1
    Verbringt hier viel Zeit Avatar von calimero
    Registriert seit
    12.12.2005
    Ort
    Würzburg
    Beiträge
    534
    Bedankte sich
    47
    Erhielt 62 Danksagungen
    in 55 Beiträgen

    Standard Daten aus zweiter Joomla DB laden

    Hallo Leute,

    ich habe eine Aufgabe, die ich mangels objektorientiertem Programmieren nicht selbst lösen kann.

    2 Domains, je 1x Joomla, selber Server

    Ich möchte in Joomla_1 die Daten einer Adressdatenbank von Joomla_2 Datenbank laden.
    Eigentlich wäre das kein Problem, aber ich habe es in mehreren Versuchen nicht geschafft, die Komponente dazu zu bewegen, auf eine andere Datenbank zuzugreifen, als auf die Standarddatenbank von Joomla_1.

    Die Daten werden in Joomla_2 gepflegt und erstellt, in Joomla_1 sollen sie nur angezeigt werden. Also habe ich in Joomla_1 die selbe Komponente installiert und müsste diese nun dazu bringen, dass sie die Daten aus einer anderen Datenbank lädt.

    Das ist alles.

    Wer weiss was zu tun ist?


    Danke.
    Gruß Theo

    -------
    www.Dein-Franken.de - Dein Franken, das Infoportal für Freizeit und Tourismus
    www.Franken-Bilderbuch.de - Das fränkische Bilderbuch mit den schönsten Seiten Frankens!

  2. #2
    Gehört zum Inventar
    Registriert seit
    18.02.2005
    Beiträge
    8.841
    Bedankte sich
    85
    Erhielt 2.269 Danksagungen
    in 1.936 Beiträgen

    Standard

    Versuchs mal so, natürlich nur innerhalb von Joomla! Getestet habe ich es nicht.
    Trage in die Funktion loadNewDatabase () deine Verbindungsdaten ein.
    PHP-Code:
    <?php
    function getNewDatabase $debug=) {
      
    //Beispieldaten
        
    $host  'localhost'
        
    $user  'web746';
        
    $pw    'fr4ttgrg';
        
    $db    'db1_usr';
        
    $dbprefix  'jos_';

        
    $database2 = new database$host$user$pw$db$dbprefix );
        
    $database2->debug$debug );
        return 
    $database2 ;
    }

    //test it
    function test() {
        
    //init db - nicht mit global $database arbeiten, das ist etwas anderes!!!
        
    $database2 getNewDatabase();

       
    $query "SELECT * FROM #__users"
       
    $database2->setQuery$query );
       
    $rows $database2->loadObjectList();

       if (
    $database2->getErrorNum()) {
        echo 
    $database2->stderr();
        return 
    false;
       }

       return 
    $rows;
    }

    $test test();
    print_r($test);
    ?>
    Gruß
    ec
    Geändert von ecomeback (19.03.2007 um 15:49 Uhr) Grund: uijiujiujiiuii

  3. Erhielt Danksagungen von:


  4. #3
    Verbringt hier viel Zeit Avatar von calimero
    Registriert seit
    12.12.2005
    Ort
    Würzburg
    Beiträge
    534
    Bedankte sich
    47
    Erhielt 62 Danksagungen
    in 55 Beiträgen

    Standard

    Hallo ecomeback,

    Zitat Zitat von ecomeback Beitrag anzeigen
    Versuchs mal so, natürlich nur innerhalb von Joomla! Getestet habe ich es nicht.

    Jo, funktioniert hervorgeragt!


    Tausend Dank!!!
    Gruß Theo

    -------
    www.Dein-Franken.de - Dein Franken, das Infoportal für Freizeit und Tourismus
    www.Franken-Bilderbuch.de - Das fränkische Bilderbuch mit den schönsten Seiten Frankens!

  5. #4
    Verbringt hier viel Zeit Avatar von calimero
    Registriert seit
    12.12.2005
    Ort
    Würzburg
    Beiträge
    534
    Bedankte sich
    47
    Erhielt 62 Danksagungen
    in 55 Beiträgen

    Standard

    Hallo ecomeback,

    Zitat Zitat von ecomeback Beitrag anzeigen
    Versuchs mal so, natürlich nur innerhalb von Joomla! Getestet habe ich es nicht.

    Also ich brauch doch noch mal Hilfe.

    Dein Skript funktioniert gut. Allerdings, nur ausserhalb von Klassen. Die Komponente die ich ändern will, ruft alle Datenbankabfrage innerhalb einer Klasse auf. Wenn ich Deine Funktionen in einer Klasse aufrufe, funktioniert es nicht mehr.

    Wie kann ich also das

    PHP-Code:
    class zuänderndeclass(
         var 
    $thumbWidth 50;
         var 
    $thumbHeigth 50;
         var 
    $imgWidth 50;
             ... 
    usw....

        function 
    blaConfig() {    
                    global 
    $my$mosConfig_lang$database,$mainframe;
                   .....
                   }


    so abändern, dass anstatt $database (standarddatenbank) $database2 (andere Joomla_db) verwendet wird?


    Ich habe einiges getestet, aber es fruchtet nicht. :(


    Danke!
    Gruß Theo

    -------
    www.Dein-Franken.de - Dein Franken, das Infoportal für Freizeit und Tourismus
    www.Franken-Bilderbuch.de - Das fränkische Bilderbuch mit den schönsten Seiten Frankens!

  6. #5
    Gehört zum Inventar
    Registriert seit
    18.02.2005
    Beiträge
    8.841
    Bedankte sich
    85
    Erhielt 2.269 Danksagungen
    in 1.936 Beiträgen

    Standard

    Schreib die Funktion doch einfach in die Klasse und ruf jeweils statt database deine
    Funktion auf.

    PHP-Code:
    class myClass() {
    function 
    getNewDatabase $debug='0' ) {
      
    //Beispieldaten
        
    $host  'localhost'
        
    $user  'web746';
        
    $pw    'fr4ttgrg';
        
    $db    'db1_usr';
        
    $dbprefix  'jos_';

        
    $database2 = new database$host$user$pw$db$dbprefix );
        
    $database2->debug$debug );
        return 
    $database2 ;
    }


    function 
    blaConfig() {    
              global 
    $my$mosConfig_lang,$mainframe;
                  
    $database $this->getNewDatabase();
                 
    //...
              





    Geändert von ecomeback (18.03.2007 um 21:36 Uhr)

  7. Erhielt Danksagungen von:


  8. #6
    Verbringt hier viel Zeit Avatar von calimero
    Registriert seit
    12.12.2005
    Ort
    Würzburg
    Beiträge
    534
    Bedankte sich
    47
    Erhielt 62 Danksagungen
    in 55 Beiträgen

    Standard

    Zitat Zitat von ecomeback Beitrag anzeigen
    Schreib die Funktion doch einfach in die Klasse und ruf jeweils statt database deine
    Funktion auf.
    Hallo ecomeback,

    ja, so hätte es wohl funktioniert. Mit Klassen habe ich gelegentlich so meine Schwierigkeiten. Inzwischen habe ich ja auf einmal Joomla mit 2 Domains umgestellt.
    Das klappt und kommt mir sogar noch mehr entgegen.

    Wobei ich für Deinen Tipp dankbar bin. Das werde ich mal durchtesten um zu lernen wie das mit den Klassen funktioniert.

    Gracie Mile!
    Gruß Theo

    -------
    www.Dein-Franken.de - Dein Franken, das Infoportal für Freizeit und Tourismus
    www.Franken-Bilderbuch.de - Das fränkische Bilderbuch mit den schönsten Seiten Frankens!

  9. #7
    Gehört zum Inventar
    Registriert seit
    18.02.2005
    Beiträge
    8.841
    Bedankte sich
    85
    Erhielt 2.269 Danksagungen
    in 1.936 Beiträgen

    Standard

    Grundsätzlich eine etwas merkwürdige Geschichte mit OOP in Klassen.
    Jeweilige Funktion in der Klasse spricht du mit $this->function, in der Klasse
    definierte Variablen mit $this->var an. Letztendlich nicht viel anders als normal,
    nur dass man sich dann noch einiges Spielchen erlauben kann, so wie get_class_vars und
    so was. Aber vom Prinzip nicht sehr viel anders. Wenn du das ganz allerdings selbst-
    ständig schreiben wolltest wirst du feststellen, dass es dann machmal gar nicht
    so einfach ist bestimmte Funktionsweisen geschickt und vor allem günstig zu
    verarbeiten. Wenn dann noch public, static etc. dazukommt wird es meist ziemlich
    merkwürdig ohne Erfahrung in OOP.

    Gruß
    ec

  10. #8
    Verbringt hier viel Zeit Avatar von calimero
    Registriert seit
    12.12.2005
    Ort
    Würzburg
    Beiträge
    534
    Bedankte sich
    47
    Erhielt 62 Danksagungen
    in 55 Beiträgen

    Standard

    Zitat Zitat von ecomeback Beitrag anzeigen
    Jeweilige Funktion in der Klasse spricht du mit $this->function,
    in der Klasse definierte Variablen mit $this->var an.
    Aha. Da bin ich mit try and error auch schon drauf gekommen. Ich müsste mir aber grundsätzlich mal ein Buch mit diesen Dingen reinziehen. Ich kann nämlich nur php für Anfänger. Also mit Funktionen und ein bisschen Klassen. Aber bei OOP beisst es dann völlig aus.

    Aber so lange man nur ein bisschen umstricken muss, kommt man damit ja relativ weit.
    Gruß Theo

    -------
    www.Dein-Franken.de - Dein Franken, das Infoportal für Freizeit und Tourismus
    www.Franken-Bilderbuch.de - Das fränkische Bilderbuch mit den schönsten Seiten Frankens!

+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein