我有一個mysql數據庫查詢,我想用smarty來顯示使用foreach的選項列表。分配數組到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}
而問題是,我的代碼只顯示在當前的語言選擇。
親切的問候!
您是否嘗試過調試以查看'$ sch ['language']'的值是多少? – kel