function get_product_tree()
{
$sql="select * from ecs_category";
$rs = $GLOBALS['db']->getOne($sql);
foreach ($rs AS $row)
{
$rows['cat_id']=$row['cat_id '];
$rows['cat_name']=$row['cat_name'];
}
return $rows;
}
上面是我的代码,我的模板页是
这样写怎么不行??? 问题补充 2009-08-11 20:32
检举
回答人的补充 2009-08-11 20:38
PHP缓存技术工作原理: 首先看看adodb提供的数据缓存功能: 1 2include('adodb.inc.php'); # load code common to ADOdb 3$ADODB_CACHE_DIR = '/usr/ADODB_cache'; 4$conn = &ADONewConnection(''); # create a connection 5$conn->PConnect(' http://*www.about**study ','userid','','agora');# connect to MySQL, agora db 6$sql = 'select CustomerName, CustomerID from customers'; 7$rs = $conn->CacheExecute(15,$sql); 8?> 如上,每次查询数据的时候,会把相应的结果序列化后保存到文件中,以后同样的查询语句就可以不用直接查询,而是从缓存文件中获得。 再来看看Smarty提供的页面缓存功能: 1caching = true; 5if(!$smarty->is_cached('index.tpl')) { 6 // No cache available, do variable assignments here. 7 $contents = get_database_contents(); 8 $smarty->assign($contents); 9} 10$smarty->display('index.tpl'); 11?> 12 如上,每次访问页面的时候,都会先检测相应的缓存是否存在,如果不存在,就连接数据库,得到数据,完成模板变量的赋值,显示页面,同时生成缓存文件,这样下次访问的时候缓存文件就发挥作用了,而不会再执行if块的数据查询语句了。当然,在实际使用中会有很多东西要考虑,比如,有效期的设置,缓存组的设置等等,具体可以查看Smarty手册中有关缓存(caching)的相关章节。 以上两个PHP流行组件缓存方式的侧重点是不同的,对于Adodb的缓存而言,它缓存的是数据,对于Smarty的缓存而言,它缓存的是页面。其他提供缓存功能的组件还有很多(如:PEAR::Cache_Lite等等),实际编程中使用哪个方案要具体情况具体分析,也可能会综合使用。
樱花校园模拟器4399中文版
樱花校园模拟器4399中文版,十分奇趣好玩的3d校园冒险模拟
我的暑假秘密回忆繁星新春版
我的暑假秘密回忆繁星新春版是一款少女模拟养成类休闲游戏。这款
樱花校园模拟器国际版
樱花校园模拟器国际版,一个超级自由超级好玩的自由恋爱模拟的游
饥荒海难九游版
饥荒海难九游版,带你去真实的海岛上感受一下什么才是真正的孤岛
盖瑞模组体验版最新版
盖瑞模组体验版是玩法非常丰富多元化的沙盒建造游戏,玩家可以在