尝试在 Smarty 中获取表和数据库数组


Trying to Get Array of Tables and Databases in Smarty

我有一个来自MySQL的数据库和表数组。我似乎无法在 Smarty 中的每个数据库下获得表列表?我已经尝试了多个foreach语句,但似乎都不起作用。"数据库名称"显示正确,但表显示不正确。我感谢所有的帮助。

我的PHP:

$conn = connect();
$db_sql = $conn->query("SHOW DATABASES;");
$dbs = array();
while ($db = $db_sql->fetch_array(MYSQLI_NUM))
{
    $db_name = $db[0];
    $dbs[] = $db_name;
}
$tables = array();
foreach ($dbs as $db => $value) {
    $table_sql = $conn->query("SHOW TABLES FROM $value");
    while ($table_ = $table_sql->fetch_array(MYSQLI_NUM))
    {
        $tb_name = $table_[0];
        $tables[$value]['Tables'][] = $tb_name;
    }
}
$smarty->assign("dbs", $tables);

我的聪明:

 {foreach from=$dbs key=db item=value}
                    <li>
                        <a class="tree-toggler nav-header" href="#" class="btn btn-xs btn-default"><span class="glyphicon glyphicon-th-list"></span> {$db}</a>
                        <ul class="nav nav-list tree">
                        {foreach from=$value->Tables  item=$table}
                            <li><a href="#">{$table}</a></li>
                        {/foreach}
                        </ul>
                    </li>
                {/foreach}

问题出在第二个 foreach 循环中的智能代码

取代

代码的这一行 - {foreach from=$value->Tables item=$table}跟此行 - {foreach from=$value。表项=表}

它会工作