Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Duyệt cây đệ quy với mysql thông qua PHP

không tốt khi gọi máy chủ mysql và tìm nạp kết quả mỗi lần

điều gì sẽ xảy ra nếu bạn có hơn 100 hàng? hoặc hơn 200

chỉ sử dụng cái này để truy vấn một lần:

$result = mysql_query("SELECT * FROM test");
$arrs = array();

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    $arrs[] = $row;
}

function build_tree($arrs, $parent_id=0, $level=0) {
    foreach ($arrs as $arr) {
        if ($arr['parent_id'] == $parent_id) {
            echo str_repeat("-", $level)." ".$arr['name']."<br />";
            build_tree($arrs, $arr['id'], $level+1);
        }
    }
}

build_tree($arrs);

ví dụ chung cho bảng

  id    name    parent_id


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP - Có thực hành tốt để lưu các truy vấn MYSQL vào một tệp txt không?

  2. Làm thế nào để tạo một trường NULL bằng MySQL GUI Tools?

  3. Cài đặt mysql-python trên macOS High Sierra

  4. Cách thay đổi nội dung trong div, dựa trên lựa chọn thả xuống

  5. Đường hầm ssh2 của Node.js vẫn tồn tại và thực hiện các truy vấn mysql