猿问

数据库架构 树形视图 PHP MYSQL

我正在尝试从 MYSQL 数据库表创建一个树视图(最好使用 bootstrap),该表本质上是一个数据字典结构。我见过的每个示例都会创建一个parentid,以便为树视图创建json/数组输入,但是我的数据结构在每一行上都有所有层次结构级别。

层次结构将是:

  • 数据库

    • 表格

    • 模式

  • 数据库

    • 表格

    • 模式

我的数据库表有 3 列...数据库、模式和表。每行都具有全部三个属性,因此具有完整的层次结构。让这变得更加棘手的是相同的模式和表可以存在于多个数据库中。

我应该如何解决这个问题有什么想法吗?

或者也许如下所述,我如何从数组转到作为树视图输入的 JavaScript 对象的嵌套数组?

这是创建数组的 php:

$stmt = $pdo->prepare('SELECT * FROM MyTable');

$stmt->execute();


$result = $stmt->fetchAll(PDO::FETCH_ASSOC);

print_r($result);

喵喔喔
浏览 137回答 1
1回答

PIPIONE

您需要迭代所有行并将它们插入到适当的映射(关联数组)中,以便“膨胀”数据结构。像这样的东西://Fetch all rows from database into $result$databases=[];foreach($result as $row){    $database=$row["database"];    $schema=$row["schema"];    $table=$row["object"];    if(!array_key_exists($database, $databases))        $databases[$database]=[];    if(!array_key_exists($schema, $databases[$database]))        $databases[$database][$schema]=[];    array_push($databases[$database][$schema], $table);}
随时随地看视频慕课网APP
我要回答