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);
但我不知道如何将数据库查询的结果放入循环中的数组中,以便在我的视图中我可以像这样使用它们: / p>
<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);
答案 0 :(得分:0)
您可以将$data
值分配给新数组并改为传递新数组:
foreach ($data as $key => $cfg) {
$new_data[$cfg['name']] = $cfg['value'];
}
$this->parser->parse('page', $new_data);