Arrayermittlung in Funktion

Purdey

Erfahrenes Mitglied
Hallo Zusammen,

ich habe ein Problem ich möchte alle X Parents eines Childs ermitteln und nutze dafür folgende Funktion.

Code:
function display_parent2($child, $level)
{

	$sql = "SELECT * from kategorie_neu WHERE kategorie_id='$child'";
	$result = mysql_query($sql) or die(mysql_error());
	
	
	
	while ($row = mysql_fetch_array($result))
	{
		$a[]=$row['kategorie_name'];
		display_parent2($row['kg_id'], $level+1);
	}
	print_r($a);
}

print_r($a) liefert folgendes Ergbenis:

Code:
Array
(
    [0] => Main
)
Array
(
    [0] => Sub1
)
Array
(
    [0] => Sub1.1
)
Array
(
    [0] => Sub1.1.1
)

Gern erreichen würde ich jedoch das ich ein komplettes Array habe in dem alle Werte stehen.

Könnt Ihr mir helfen?
 
Ich geh mal davon aus, dass du ein Adjacency Tree hast (also jeder Node kennt seinen Parent).
Ich habe da mal vor einiger Zeit einige SQL-Statements dazu entwickelt. Ich denke da ist auch für dich etwas dabei
MySQL Hierarchie Baum (Adjacency Tree) auslesen

Bei deiner Lösung solltest du den Wert nicht ausdrucken sondern als Funktionsrückgabewert zurückgeben und jeweils sammeln

PHP:
function display_parent2($child, $level){
    
    while ($row = mysql_fetch_array($result))
    {
        $a[$level]=$row['kategorie_name'];
        $a = $a + display_parent2($row['kg_id'], $level+1);
        
    }
    return $a;
}
 
vielen Dank Yaslaw, ja jeder kennt seinen parent.
dieser Hinweis hat mir geholfen.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück