sql >> Database teknologi >  >> RDS >> Mysql

mysql + php hente bladbørn med sti

Meget enkel løsning til at udskrive id og sti til alle sidste underordnede noder ved hjælp af PHP, da jeg ikke kender til en måde at gøre dette på i MySQL. Håber dette hjælper!

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

For at køre bare ring:

getChildren();


  1. Sådan opretter du en tidspunktarkitektur i MySQL

  2. Hvordan kender man MySQL-replikeringsstatus ved hjælp af en udvalgt forespørgsel?

  3. Skrivebeskyttet routing for en Always On

  4. oracle-databaseforbindelse i web.config asp.net