Php 将数组分配给Smarty,然后使用foreach解析它
我有一个mysql查询中的数组,我想在smarty中使用它来显示使用foreach的选项列表 更确切地说,我在mysql表中有一个语言列表,我想在html选择器中显示所有语言,我还想显示当前选择的语言 我的问题是:Php 将数组分配给Smarty,然后使用foreach解析它,php,html,smarty,Php,Html,Smarty,我有一个mysql查询中的数组,我想在smarty中使用它来显示使用foreach的选项列表 更确切地说,我在mysql表中有一个语言列表,我想在html选择器中显示所有语言,我还想显示当前选择的语言 我的问题是: public function genLanguageSchema() { $get = $this->pdo->prepare('SELECT language FROM cms.language_schema WHERE status="ENABLED"');
public function genLanguageSchema()
{
$get = $this->pdo->prepare('SELECT language FROM cms.language_schema WHERE status="ENABLED"');
$get->execute();
return $langList = $get->fetch(PDO::FETCH_ASSOC);
}
php代码:
$lang = $db->genLanguageSchema();
$sch = array(
'language' => $lang['language']
);
$template->assign('currentLanguage', 'Romana');
$template->assign('availableLanguages', $sch['language']);
模板代码:
{if $show_language_chooser}
<tr>
<td style="width:25% !important"><label for="language_field">Website language</label></td>
<td>
<select name="language_field" id="language_field">
{foreach from=$availableLanguages item=language}
<option value="{$language}" {if $currentLanguage == $language} selected="selected" {/if}>{$language}</option>
{/foreach}
</select>
</td>
</tr>
{/if}
问题是我的代码只在选择器中显示当前语言
亲切的问候 是否尝试将[language]从$lang分配中删除到php代码中?是否尝试调试以查看$sch['language']的值是多少?结果仍然相同。是否可以发布打印日志$lang?输出:1。我真的不认为这些变量是问题所在。我相信这与查询有关。在smarty中打印$availableLanguages