我有一个mysql查询的数组,我想在smarty中使用foreach来显示选项列表。
更确切地说,我在mysql表中有一个语言列表,我想在html选择器中显示所有语言,我也希望显示当前选择的语言。
我的查询:
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}
问题是我的代码只显示选择器中的当前语言。
亲切的问候!
答案 0 :(得分:0)
您是否尝试从$ lang分配中删除[language]
到PHP代码?