Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

mysql + php mengambil anak daun dengan path

Solusi yang sangat sederhana untuk mencetak id dan jalur ke semua node anak terakhir menggunakan PHP karena saya tidak mengetahui cara melakukan ini di dalam MySQL. Semoga ini bisa membantu!

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

Untuk menjalankan, panggil saja:

getChildren();


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Melarikan diri dari kutipan tunggal dalam PHP saat memasukkan ke MySQL

  2. Bagaimana menyinkronkan database pengembangan dan produksi

  3. com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Tidak ada operasi yang diizinkan setelah koneksi ditutup

  4. MySQL:Dapatkan pesan terbaru dari 2 tabel yang terkait satu sama lain

  5. Hapus baris mysql yang digandakan tanpa kunci utama