Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将数组分配给Smarty,然后使用foreach解析它_Php_Html_Smarty - Fatal编程技术网

Php 将数组分配给Smarty,然后使用foreach解析它

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"');

我有一个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}
问题是我的代码只在选择器中显示当前语言


亲切的问候

是否尝试将[language]从$lang分配中删除到php代码中?

是否尝试调试以查看$sch['language']的值是多少?结果仍然相同。是否可以发布打印日志$lang?输出:1。我真的不认为这些变量是问题所在。我相信这与查询有关。在smarty中打印$availableLanguages