php - 来自 mysql 的 JsTree ul li

标签 php mysql list jstree

我正在寻找从 JsTree 插件提供的脚本 server.php 生成的条目中输出有序列表(UL -> Li ...)的最简单方法。

Screen Shot of JsTree structure in MySql DB

谢谢你的灯

最佳答案

也许它可以帮助你:

SELECT * FROM table ORDER BY level;

你会收到这样的东西:

$a = array(
    array('id' => 1, 'parent_id' => 0, 'level' => 0),
    array('id' => 2, 'parent_id' => 1, 'level' => 1),
    array('id' => 3, 'parent_id' => 1, 'level' => 1),
    array('id' => 4, 'parent_id' => 2, 'level' => 2),
    array('id' => 5, 'parent_id' => 3, 'level' => 2)
);

准备这个数组:

$prepare = array();

foreach ($a as $record) {
    $prepare[$record['id']] = $record;
}

然后递归遍历它:

function getTree($array, $id, $level = 0)
{
    if ($array[$id]['level'] != $level) {
        return;
    }
    echo '<ul>' . PHP_EOL;
    echo '<li>' . $id;
    foreach ($array as $data) {
        if (($data['parent_id'] === $id)){
            getTree($array, $data['id'], $level + 1);
        }

    }
    echo '</li>'. PHP_EOL;
    echo '</ul>'. PHP_EOL;
}


getTree($prepare, 1);

它的例子返回:

<ul>
<li>1<ul>
<li>2<ul>
<li>4</li>
</ul>
</li>
</ul>
<ul>
<li>3<ul>
<li>5</li>
</ul>
</li>
</ul>
</li>
</ul>

关于php - 来自 mysql 的 JsTree ul li,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14830330/

相关文章:

php - 不同的 JSON 响应 - {"count":"123"} vs {"count"= >"123"}

php - 将字符串转换为 JSON 时出错

python - 查找并打印列表中最小值的所有索引

list - 如何使用随机选择对 Haskell 中的列表进行洗牌

algorithm - 带有集合和更新的 F# 语法

php - 在数据库中保存三级权限

php - 收集 cookies

PHP:解析不同风格的友好网址

mysql - 如何在sql查询中添加同一组的最后一个值

php - 来自数据库的 3 列动态表