Hallo an alle,
ich stehe hier vor einem Problem und hoffe auf Unterstützung.
Ich versuche das mal mit Beispieldaten zu beschreiben und die Klasse darzustellen.
Die Ausgabe des Array sollte in etwas so aussehen:
Mein Problem besteht darin, dass ich einen Endlos-Aufruf der Funktion habe. Da jedes Kind wiederum eines oder mehrere eigene Kinder haben könnte.
Der Selbstaufruf und das Ermitteln der Daten ist für mich keine Problem. Ich habe Probleme, das neue Array (Kind) unter seiner Mutter einzuhängen.
Mit array_push wird es am Ende eingefügt. Ich muss aber einen endlosen Baum zusammenbauen. Ich suche nach einer Möglichkeit, die letzte Position des Zeiger oder des Elements mit in dem erneuten Aufruf nehmen zu können und das neue Kind an der richtigen Stelle einbinden zu können.
Vielen Dank für eure Hilfe! Ich hoffe, ich konnte es einigermaßen erklären.
ich stehe hier vor einem Problem und hoffe auf Unterstützung.
Ich versuche das mal mit Beispieldaten zu beschreiben und die Klasse darzustellen.
PHP:
$ChronikDaten = new Chronik();
$ChronikDaten->setName('Berta Schmidt');
$ChronikDaten->getStammbaum();
class Chronik {
public function setName($Name) {
$this->NameOrg = $Name;
$this->Name = $Name;
}
private function getSQLDaten() {
$SQLK = "
select
KindID,
KindName
from Familie
where Name = '$this->Name'
";
$SQLA = mysqli_query($Datenbank->getVerbindung(), $SQLK) or die ("SQL-Error: " .mysqli_error( $Datenbank->getVerbindung() ));
$SQLDaten = $SQLA;
return($SQLDaten);
} // getSQLDaten()
public function getStammbaum($ErsterAufruf = "Y") {
//SQL-Abfrage ausführen
$SQLDaten = $this->getSQLDaten();
while($DtPerson = mysqli_fetch_object($SQLDaten)) {
if($ErsterAufruf == "Y") {
$this->Chronik['Name'] = $this->NameOrg // z.B. Berta Schmidt
}
//Kind
$this->Chronik['Name'][$DtPerson->KindID]['Name'] = $DtPerson->KindName;
//Prüfen ob das Kind wiederrum ein Kind hat
$this->Name = $this->Chronik['KindName'];
getPersonendaten('N');
} // while
} // getPersonendaten
}
Die Ausgabe des Array sollte in etwas so aussehen:
Code:
$Chronik (
[Berta Schmit] => Array
(
[Kind Holger] => Array
(
[Kind Carsten] //hat keine Kinder
[Kind Michael] => Array
(
[Kind Jens] // hat keine Kunder
)
)
[Kind Matthias] //keine Kinder
)
)
Mein Problem besteht darin, dass ich einen Endlos-Aufruf der Funktion habe. Da jedes Kind wiederum eines oder mehrere eigene Kinder haben könnte.
Der Selbstaufruf und das Ermitteln der Daten ist für mich keine Problem. Ich habe Probleme, das neue Array (Kind) unter seiner Mutter einzuhängen.
Mit array_push wird es am Ende eingefügt. Ich muss aber einen endlosen Baum zusammenbauen. Ich suche nach einer Möglichkeit, die letzte Position des Zeiger oder des Elements mit in dem erneuten Aufruf nehmen zu können und das neue Kind an der richtigen Stelle einbinden zu können.
Vielen Dank für eure Hilfe! Ich hoffe, ich konnte es einigermaßen erklären.
Zuletzt bearbeitet: