从数据库中选择选项菜单 - smarty,php

时间:2013-10-17 07:58:44

标签: php templates smarty

我有一个包含类别的数据库,我希望将它放入带有智能

的选择选项菜单中

在我的news.model我有这个功能

function  getCategoriesNews(){
       $sql = "SELECT name,id, FROM categories WHERE id>0 ORDER BY ID ";
       return $this->db->GetAll($sql);
   }

我从数据库中读取类别。在我的模板add_news.tpl中,我想把它们放在这里

<select name="categories" id="news_cat">
        <option value="0"></option>  
        {foreach from=$news item=i}                              
            <option value="" ></option>            
        {/foreach}    
      </select>

但我不知道我是怎么尝试不同的方式但是......

2 个答案:

答案 0 :(得分:0)

在你调用getCategoriesNews()函数的php页面中, 将结果分配给变量

$categories = getCategoriesNews();

然后将此数组分配给模板

if(!empty($categories[0]))
    $tplObj->assign('categories',$categories); //smarty variable without $

然后在你的tpl文件中使用它,如下,

考虑到你有catId,cat fields

<select name="categories" id="news_cat">
        <option value="0"></option>
  {if $categories != ''}
        {foreach from=$categories item=i}                              
            <option value="{$i.catId}" >{$i.cat}</option>            
        {/foreach}
  {/if}
</select>

答案 1 :(得分:0)

检查您的查询。替换ORDER BY id而不是ORDER BY ID

 $sql = "SELECT name,id, FROM categories WHERE id>0 ORDER BY id ";