Hallo zusammen,
ich habe folgendes Problem:
Folgende Funktion liest alle "Ordner" einer SQL-Tabelle "Ordner" aus meiner Datenbank:
	
Der Code ist eigentlich ganz einfach:
In $CurrOrdner sammle ich die Daten pro Ordner.
Diese Daten lege ich dann als neues Arrayelement in $vz ab.
Wenn ich in der letzten Schleife der Funktion (testweise) die Ordnernamen ausgebe, kommt immer nur der Name des zuletzt gelesenen Ordners raus.
Wenn also die SQL-Tabelle "ordner" die Einträge
1
2
3
als jeweiligen Ordnernamen hat,
Wird beim Ausgeben von $vz immer nur
3
3
3
ausgegeben.
Das Lesen aus der Datenbank funktioniert. Testweise lasse ich oben
$ds->name
ausgeben - und da kommt brav 1 2 3.
Das komische: Auf meinem Testsystem ist PHP 4.3.9 installiert.
DA FUNKTIONIERT ES!
Auf dem "Release"-System mit PHP 5.1.5 kommt der oben beschriebene Fehler.
Ich habe jetzt schon viel nachgeschlagen - aber keine Änderung ggü. von Array in PHP 5 gefunden. Oder mache ich grundsätzlich was falsch??
Danke!
					ich habe folgendes Problem:
Folgende Funktion liest alle "Ordner" einer SQL-Tabelle "Ordner" aus meiner Datenbank:
PHP Code:
	
	
function GetDir(){
    $vz = array();
    global $idordner;
    $query = "select * from ordner where idordnerparent = $idordner order by pos, name";
    $result = mysql_query($query);
    if((!empty($result)) && ($ds = mysql_fetch_object($result))){
        do{
            echo "\"$ds->name\" ";    // alles ok - hier werden alle Namen nacheinander ausgegeben!
            // also z.B. "1" "2" "3"
            $CurrOrdner->name = $ds->name;
            $CurrOrdner->id = $ds->idordner;
            $CurrOrdner->partien = $ds->partien;
            $CurrOrdner->ordner = $ds->ordner;
            $CurrOrdner->LastKommentar = $ds->LastKommentar;
            $CurrOrdner->LastPartie  = $ds->LastPartie;
            $vz[] = $CurrOrdner;
        }while($ds = mysql_fetch_object($result));
    }
    foreach ($vz as $ordner){
        echo "\"$ordner->name\" ";
        // hier wird IMMER nur der Name (für alle Elemente!) des letzten zugefügten CurrOrdners ausgegeben
        // also z.B. "3" "3" "3"
    }
    return $vz;
} 
In $CurrOrdner sammle ich die Daten pro Ordner.
Diese Daten lege ich dann als neues Arrayelement in $vz ab.
Wenn ich in der letzten Schleife der Funktion (testweise) die Ordnernamen ausgebe, kommt immer nur der Name des zuletzt gelesenen Ordners raus.
Wenn also die SQL-Tabelle "ordner" die Einträge
1
2
3
als jeweiligen Ordnernamen hat,
Wird beim Ausgeben von $vz immer nur
3
3
3
ausgegeben.
Das Lesen aus der Datenbank funktioniert. Testweise lasse ich oben
$ds->name
ausgeben - und da kommt brav 1 2 3.
Das komische: Auf meinem Testsystem ist PHP 4.3.9 installiert.
DA FUNKTIONIERT ES!
Auf dem "Release"-System mit PHP 5.1.5 kommt der oben beschriebene Fehler.
Ich habe jetzt schon viel nachgeschlagen - aber keine Änderung ggü. von Array in PHP 5 gefunden. Oder mache ich grundsätzlich was falsch??
Danke!
 
          


 
  
 
							
						 
							
						
Comment