|
楼主 |
发表于 2011-6-15 09:30:19
|
显示全部楼层
本帖最后由 spt119 于 2011-6-15 09:39 编辑
以下,将以一个类别设定的数据库表为例说明XML缓存的生成、调用、显示及删除各种操作。(注意,本文是在开启AR的前提下完成的。如果没有开启AR,可以使用$this->db->query()的方式完成)。说明:本例将遵循严格的MVC方式。各处代码请见所在的MVC位置。
第一步,数据库操作
[1] 生成结果集/MODEL中。(model名为:cate_model)
你需要把数据库中类别表保存在一个结果集中,代码示例:
PHP复制代码
function get()
{
return $this->db->get('category');
}
复制代码
注意:假定的前提是表category中有数据。如果不知是否有数据,最好用num_rows()判断一下。再有,这里返回的是一个PHP stdclass基类数据样式,不要使用result()或result_array()。
[2] XML转存/CONTROLLER中
PHP复制代码
function xml ()
{
$this->load->dbutil();
$this->load->helper('file');
$query = $this->cate_model->get();
/*手册中代码粘贴到此处*/
$config = array (
'xml' => '?xml version=\'1.0\' encoding=\'UTF-8\'?',//此句手册中没有,需自己加上
'root' => 'root',
'element' => 'element',
'newline' => "\n",
'tab' => "\t"
);
$xml = $this->dbutil->xml_from_result($query,$config);
if (! $xml) show_error ('');//你需要自己定义一个错误指针,方便错误排查
$xml_path = '';//你需要自己定义一个xml文件存放的目录
if (! write_file ($xml_path.'category.xml',$xml))) show_error ('');
}
复制代码
未完待续。。。
注意:因论坛的自动转移,部分代码使用了全角字符。请对应手册。
|
|