sql >> Database >  >> RDS >> Mysql

mysql + php halen bladkinderen op met pad

Zeer eenvoudige oplossing om id en pad naar alle laatste onderliggende knooppunten af ​​​​te drukken met behulp van PHP, omdat ik niet weet hoe ik dit binnen MySQL kan doen. Ik hoop dat dit helpt!

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;
   }
}

Bel gewoon:

getChildren();


  1. Krijg alle datums tussen twee datums in SQL Server

  2. Probleem met SQL-query

  3. Dapper gebruiken met Oracle

  4. MySQL ON UPDATE CURRENT_TIMESTAMP wordt niet bijgewerkt