LoCal Geschrieben 28. August 2003 Geschrieben 28. August 2003 Hei Ich hab ein Prob. Also ich will für eine Ordnerverwaltung einen Baum aufbauen. Dazu hab ich mir ein Klasse node erstellt und diese würde ich nun gerne in ein Array stecken. Jedenfalls Klappt das füllen ja ganz gut, aber wenn ich mittels for-Schleife das ding auslesen will krieg ich einen Fehler: Fatal error: Call to a member function on a non-object in D:\wwwroot\edv2\favoritenverw\confav.php on line 24 Das kommt bei for($i=0;$i<count($tree);$i++) { echo($tree[$i]->getID()); } ?> wenn ich statt der variable $i einen festen wert einsetze.. also einen der auch sicher im array is, dann funtz alles bestens (selbst wenn es in der for-Schleife steht. wie gibt es dat? Danke schonmal im vorraus. Die Quellen kommen unten! die [i]phpdb.php[/i] is nicht "wichitg"! Peace, LoCal tree.php [code] <?php //$CR="\n\r"; $CR="<br>"; //session_register("uid"); $uid=39; $first=true; include("../phpdb.php"); include("classes.php"); echo("isch mach dat alles ma neu... weil isch will dat mit klassen und so machen"); $rs = ibase_query($intranet, "SELECT * FROM favoriten_ordner WHERE UID=".$uid."ORDER BY ID"); $tree[]=array(); while($row = ibase_fetch_object($rs)){ //$tree[count($tree)]=new node; array_push($tree, new node); $tree[count($tree)-1]->setID($row->ID); $tree[count($tree)-1]->setMID(null); //$tree[count($tree)-1]->setParent(null); } for($i=0;$i<count($tree);$i++) { echo($tree[$i]->getID()); } ?> [/code] classes.zip [code] <?php class node { var $id=-1; var $mid=-1; var $parent=""; var $childs; var $name=""; var $isLink=false; function setId($id) { $this->id = $id; } function setMid($mid) { $this->mid = $mid; } function setParent(&$parent) { $this->partent = $parent; } function addChild(&$child) { array_push($this->array,$child); } function setName($name) { $this->name = $name; } function setIsLink($isLink) { $this->isLink = $isLink; } function getID() { return $this->id; } function getMID(){ return $this->mid; } function getParent() { return $this->parent; } function getChild() { return $this->childs; } function getAmountOfChilds() { return count($childs); } function getName() { return $this->name; } function isLink() { return $this->isLink; } } ?>
LoCal Geschrieben 28. August 2003 Autor Geschrieben 28. August 2003 Hei nochma.. hab den Fehler gefunden. array_push() fügt immer ein weiteres array-feld an.. auch wenn das erste NULL is.. Peace, LoCal
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden