我有一个来自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} WITH这行代码-{foreach from = $ value.Tables item = table}
它将起作用
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句