Mysql
 sql >> Datenbank >  >> RDS >> Mysql

mysql + php ruft Blattkinder mit Pfad ab

Sehr einfache Lösung zum Ausdrucken von ID und Pfad zu allen letzten untergeordneten Knoten mit PHP, da mir keine Möglichkeit bekannt ist, dies in MySQL zu tun. Hoffe, das hilft!

function getChildren($parent= "", $x = 0) {
   $sql = "SELECT id, name FROM recurr WHERE parentId = $x";
   $rs = mysql_query($sql);
   //echo "Name: $parent has ". mysql_num_rows($rs)." children<br/>";
   while ($obj = mysql_fetch_object($rs)) {
      if (hasChildren($obj->id)) {
         getChildren($parent."/".$obj->name, $obj->id);
      } else {
         echo $obj->id .", ".$parent."/".$obj->name."<br/>";
      }
   }
}

function hasChildren($x) {
   $sql = "SELECT * FROM recurr WHERE parentId = $x";
   $rs = mysql_query($sql);
   if (mysql_num_rows($rs) > 0) {
      return true;
   } else {
      return false;
   }
}

Zum Ausführen rufen Sie einfach auf:

getChildren();