CodeIgniter 数据库行到数组中,供 Parser 用于视图内置模板



1( 我最初的settings表设计:

-------------------------------------------
site_name | site_slogan | site_url
-------------------------------------------
Company   | This rocks! | http://localhost/
-------------------------------------------

但是,我想重新设计,以便我可以明确地为每一行放置不同的数据类型,如 char(255( 或 varchar(512(,或者将来的 INT:

-------------------------------
name        | value
-------------------------------
site_name   | Company
site_slogan | This rocks!
site_url    | http://localhost/
site_phone  | 123465798
-------------------------------

在我的控制器中,我想使用 $this->parser->parse('page',$data);但我不知道如何将数据库查询的结果放入循环中的数组中,以便在我的视图中我可以像这样使用它们:

<a href="{site_url}">{site_name} - {site_slogan}</a>

编辑:

这是我收到的反馈$data = $this->db->select("*")->from('settings')->get()->result_array();的结果。

Array
(
    [0] => Array
        (
            [name] => site_name
            [value] => My Name
        )
    [1] => Array
        (
            [name] => site_tagline
            [value] => My Tagline
        )
    [2] => Array
        (
            [name] => site_url
            [value] => My URL
        )
)

所以这就是我解析并使它们可用于视图{site_name} {site_tagline} {site_url}的方式。

$data = array(
   'site_name' => $data['0']['value'],
   'site_tagline' => $data['1']['value'],
   'site_url' => $data['2']['value']
);
$this->parser->parse('page', $data);
您可以将

$data值分配给新数组并传递新数组:

foreach ($data as $key => $cfg) {
    $new_data[$cfg['name']] = $cfg['value'];
}
$this->parser->parse('page', $new_data);

最新更新