|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
总的来说,在这一个月左右的时间中,学到的不少,但是也遇到不少的问题,比如批量图片的上传,一直到现在也不懂,如何实现动态的增加上传图片的数量。
在开辟中,常常有一些复杂的树形布局的存储,好比产物的多级分类,多级导航栏菜单等,这些物体有一个特征,就是凡是会获得整棵树布局。在数据库里保留树布局的办法次要有三种,最复杂的一就是经由过程一个father_id指向以后布局的父节点。关于如许的小布局,普通咱们利用最复杂的体例存储。
当要获得整棵树布局,网上普通用递归法,这类体例代码复杂易懂,然而弱点是需求履行屡次数据库查询,并且前面几回获得的元素数目很少乃至为0,效力很差。
其实,碰到这类情形,可以将一切的元素全体从数据库获得出来,然后再依据获得的元素father_id构建树布局,如许就能够处理履行屡次数据库查询的功能消耗。上面就以我在实践项目中获得多级导航栏菜单中的函数进抛砖引玉了
/*
经由过程数据库获得一切元素,经由过程上面函数机关树形布局
*/
private function gettree($menus)
{
$id = $level = 0;
$menuobjs=array();
$tree = array();
$notrootmenu=array();
foreach($menus as $menu){
$menuobj=new stdclass();
$menuobj->menu=$menu;
$id = $menu['id'];
$level = $menu['father_id'];
$menuobj->nodes = array();
$menuobjs[$id]=$menuobj;
if ($level) {
$notrootmenu[]=$menuobj;
} else {
$tree[] = $menuobj;
}
}
foreach($notrootmenu as $menuobj){
$menu=$menuobj->menu;
$id = $menu['id'];
$level = $menu['father_id'];
$menuobjs[$level]->nodes[]=$menuobj;
}
return $tree;
}
} 本文链接http://www.cxybl.com/html/wlbc/Php/20120607/28514.html现在,也有了从事软件工程的想法,在经过了一个月的PHP培训学习之后,发现其实软件工程并没有想像中的那么难。 |
|