sql >> データベース >  >> RDS >> Mysql

mysql+phpはパスを持つ葉の子を取得します

    MySQL内でこれを行う方法を知らないため、PHPを使用して最後のすべての子ノードへのIDとパスを出力する非常に簡単なソリューション。これがお役に立てば幸いです!

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

    実行するには、次の電話番号に電話してください:

    getChildren();
    


    1. HerokuのためにRubyonRailsでMySQLからPostgreSQLに切り替える

    2. MySqlを使用して日本語で検索クエリを処理するにはどうすればよいですか?

    3. mysqlの日付から年、月、日、時間、分、秒をどのように抽出しますか?

    4. 機能をPDOに変更