我正在嘗試從 MYSQL 數(shù)據(jù)庫表創(chuàng)建一個樹視圖(最好使用 bootstrap),該表本質(zhì)上是一個數(shù)據(jù)字典結(jié)構(gòu)。我見過的每個示例都會創(chuàng)建一個parentid,以便為樹視圖創(chuàng)建json/數(shù)組輸入,但是我的數(shù)據(jù)結(jié)構(gòu)在每一行上都有所有層次結(jié)構(gòu)級別。層次結(jié)構(gòu)將是:數(shù)據(jù)庫表格模式數(shù)據(jù)庫表格模式我的數(shù)據(jù)庫表有 3 列...數(shù)據(jù)庫、模式和表。每行都具有全部三個屬性,因此具有完整的層次結(jié)構(gòu)。讓這變得更加棘手的是相同的模式和表可以存在于多個數(shù)據(jù)庫中。我應(yīng)該如何解決這個問題有什么想法嗎?或者也許如下所述,我如何從數(shù)組轉(zhuǎn)到作為樹視圖輸入的 JavaScript 對象的嵌套數(shù)組?這是創(chuàng)建數(shù)組的 php:$stmt = $pdo->prepare('SELECT * FROM MyTable');$stmt->execute();$result = $stmt->fetchAll(PDO::FETCH_ASSOC);print_r($result);
1 回答

PIPIONE
TA貢獻(xiàn)1829條經(jīng)驗 獲得超9個贊
您需要迭代所有行并將它們插入到適當(dāng)?shù)挠成洌P(guān)聯(lián)數(shù)組)中,以便“膨脹”數(shù)據(jù)結(jié)構(gòu)。
像這樣的東西:
//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);
}
- 1 回答
- 0 關(guān)注
- 130 瀏覽
添加回答
舉報
0/150
提交
取消