Antworten auf deine Fragen:
Neues Thema erstellen

Globale Variable innerhalb einer Klasse

rey

Der Frager ;)

hi,
ich bin gerade dabei ein Typo3 Extension zu schreiben und verzweifel an einem ganz einfachen Thema...
Ich habe die Funktion
PHP:
 function getDamCatMmRelationData()
        {
            $sql = mysql_query("SELECT uid_local,uid_foreign FROM tx_dam_cat");
            $i=0;
            $dcMmArr = array();
            while($row = mysql_fetch_object($sql))
            {
               $dcMmArr[$i]['uid_local']= $row->uid_local;
               $dcMmArr[$i]['uid_foreign']= $row->uid_foreign;
                $i++;
            }
            return $dcMmArr;
        }
Diese wird einmal in der Main Methode aufgerufen und in meine Globale Variable abgelegt.
Die Globale Variable habe ich so deklariert
PHP:
//var $dam_catArr;
public static  $dam_catArr;
In der Main Methode schaut das ganze dann so aus
PHP:
 $this->dam_catArr= $this->getDamCatMmRelationData();
Das Problem ist jetzt jedoch das wenn ich mir einen var_dump ausgebe ich ein leeres Array ausgegeben bekomme. Die Datenbanktabelle ist jedoch voll.

Anhand der Daten in dem Array möchte ich einen Lookup realisieren, zumindest versuche ich es, habe das Konzept von Lookups noch nicht ganz verstanden zumindest in der Umsetzung.
Wie dem auch sei, ich habe diese Funktion in der ich eben auf die Daten zugreife die in meiner globalen Variable abgelegt wurden.
PHP:
function lookUpCatMM($field,$id)
        {
            $list = array();
              var_dump($this->dam_catArr );
            foreach ($this->dam_catArr as $catMM) {
              
                if ($catMM[$field] == $id) {
                    $list[] = $catMM;
                }
             }
          return $list;
        }
Aber wie gesagt ich bekomme ein leeres array in meinem var_dump zurück. Ich verstehe nicht was ich hier übersehe, der Fehler ist mir eigentlich schon peinlich. Es ist bestimmt irgend ein Leichtsinnsfehler den ich nicht sehe ;/
 
Zuletzt bearbeitet:

Duddle

Posting-Frequenz: 14µHz

AW: Globale Variable innerhalb einer Klasse

Du scheinst mit Klassen zu arbeiten, daher vermute ich du meinst nicht "globale Variable" sondern "öffentliche Variable". Das sind zwei völlig unterschiedliche Konzepte.

Nichtsdestotrotz: wenn das Array leer ist, ist der Rückgabewert der Funktion leer. Wenn der Rückgabewert der Funktion leer ist, ist entweder die Datenbankanfrage tatsächlich ohne Resultat oder du füllst den Rückgabewert falsch. Für ersteres kann ich keine Aussage machen, für letzteres finde ich keinen Fehler im Code.

Kurz: bau in getDamCatMmRelationData() ein paar Zwischenausgaben ein, um den Fehler zu lokalisieren. Solange diese Funktion nichts gescheites zurück gibt, ist der Rest deines Codes egal.


Duddle
 

rey

Der Frager ;)

AW: Globale Variable innerhalb einer Klasse

Ja hatte einen Fehler in der Funktion getDamCatMmRelationData() Danke!
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben