高效的php无限分类下拉菜单

2010/03/10 4:54 下午  |  分类:W(L)AMP


	header('Content-type: text/html; charset=gb2312');

	//以下是接收的数据格式
	//$array[0] = array("id"=>1,"pid"=>0,"name"=>"诛求");
	//$array[1] = array("id"=>2,"pid"=>0,"name"=>"2");
	//$array[2] = array("id"=>3,"pid"=>1,"name"=>"3");
	//$array[3] = array("id"=>4,"pid"=>1,"name"=>"4");
	//$array[4] = array("id"=>5,"pid"=>2,"name"=>"5");
	//$array[5] = array("id"=>6,"pid"=>4,"name"=>"6");
	//$array[6] = array("id"=>7,"name"=>"66","pid"=>6);

	draw($array);//执行,已经改成下拉菜单形式
	function draw($array){
	//tree array -- copy some codes from joomla
	$tree = array();
	if( $array ){
	foreach ( $array as $v ){
	$pt = $v['pid'];
	$list = @$tree[$pt] ? $tree[$pt] : array();
	array_push( $list, $v );
	$tree[$pt] = $list;
	}
	}

	//foreach root node
	echo $sel="


";
	}
	//foreach child node
	function drawTree($arr,$tree,$level)
	{
	$level++;
	$prefix = str_pad("|",$level+1,'-',STR_PAD_RIGHT);
	foreach($arr as $k2=>$v2)
	{
	echo "
"; if($tree[$v2['id']]) drawTree($tree[$v2['id']],$tree,$level); } }

上面方法的最大特点是一次查询把所有的分类数据取出,然后再对数组进行排序操作,效率很高,效果如下:

15ebd62bb3dcb0dae7cd408b 高效的php无限分类下拉菜单

链接源:http://www.zeevin.com/?p=17

[转]《代码之道》书评

2010/03/10 8:43 上午  |  分类:读书心得

乍一看书名——《代码之道》——呵呵,好大的口气!何为道?道家 创始人老子认为“道”是宇宙的本原和普遍规律。这样一本仅仅200页的薄书能担得起“道”之名吗?笔者带着一丝怀疑翻开这本备受瞩目的书,细细的阅读,不 知不觉中已是豁然开朗——书的内容言简意赅,每个话题占用仅仅数页,却清晰明白的讲述了若干个道理,笔者不由得感慨:在我们身心疲惫的或是斗志昂扬的追逐 于各种丛出不穷的新技术、新概念的时候,我们能否暂停脚步,想一想走过的路,看一看类似《代码之道》这样的非技术书呢?

《代码之道》英文原书名为《I.M.Wright’s “Hard Code”》,属于微软核心技术丛书之一,作者Eric Brechner,现任微软公司部门总监,在软件行业拥有超过20年的工作经验,从2001年起在微软内部刊物上采用I.M.Wright的笔名撰写 “Hard Code”栏目,其中讨论软件开发过程和职业生涯的种种问题,这本书就是对这个栏目的总结,话题包括:

  • 项目管理
  • 过程改进
  • 软件质量
  • 软件设计
  • 提高效率
  • 职业发展
  • 自我完善
  • ……

针对每一个话题,I.M.Wright都根据丰富的工作经验提出了自己的观点,并介绍了来龙去脉,令人信服。笔者认为,大多数程序员,过于关注新技 术和新概念,往往忽略这种对工作的思考和总结——现在,技术更新换代的速度令人咋舌,虽然提倡终身学习,但我们的有限精力应该放在“核心竞争力”上。不论 技术如何发展,有一些能力是可以应用于各种环境的:

  • 解决问题的能力
  • 时间的安排
  • 事务优先级的处理
  • 工作与生活的平衡原则

《代码之道》对“核心竞争力”的各个方面也提出了自己的观点。对这本200页的精炼小书来说,笔者很难像写普通的书评那样对这49个主题再加以概括 总结,因此,笔者挑选了几个有关“核心竞争力”的主题,结合自己的实际体会,谈一谈《代码之道》提供的经验。

全文阅读 »

FirePHP:像Firebug那样调试你的PHP代码

2010/03/08 2:58 下午  |  分类:牛X软件

如果你经常使用Firebug调试HTML、CSS、JavaScript和Ajax代码,一定会对Firebug爱不释手,它方便快速且直观。但 你是否想过用Firebug调试PHP程序?Firefox还有一个扩展叫FirePHP,一个可以像Firebug一样方便的调试PHP程序。

FirePHP

这个在Firebug之上运行的扩展,结合一个服务器端的库,就可以让你的PHP代码向浏览 器发送调试信息,该信息以HTTP响应头(HTTP headers)的方式编码。经过设置,你可以像在Firebug控制台调试JavaScript代码一样得到PHP脚本的警告和错误提示。下面我们来看 看具体步骤。

首先,我们需要从Mozilla的Firefox扩展组件页面下 载FirePHP插件;在此之前,要确保我们已经安装了Firebug。完成FirePHP插件的安装后,再次打开Firebug面板,我们可以 看到除Firebug按钮之外,还有一个蓝色的按钮,那就是我们的FirePHP了。点击这个按钮,会出现一个菜单,提示您启用或禁用FirePHP。如 图:

FirePHP的Firebug控制台界面
FirePHP的Firebug控制台界面

全文阅读 »

妈的,全忘了

2010/03/05 11:04 上午  |  分类:日记类

好像失忆了一样,PHP的很多内置函数的用法一下子都忘记了……只能完全依赖搜索引擎!苦闷啊!这要是考试或者面试,我肯定歇菜了啊!

不知道这问题是不是我脑袋的事儿!还是正常?

找个时间在看一遍PHP函数手册吧!

这几天

2010/03/01 11:56 上午  |  分类:日记类

这几天天气很不稳定,忽冷忽热!搞得我每天早上对着衣柜无所适从!

当然,也有值的兴奋的事儿,那就是等了一段时间的《战地:叛逆连队2》终于出来了,虽然没有汉化!

所以周末中午起来,就迅速投入战斗,花了将近4个多小时的游戏时间,通关了!个人感觉整体效果并没有《现代战争2》好,我的机器配置很高,2个游戏全部都效果全开,比起来还是现代2更胜一筹!不过老实说,这款叛逆连队2的故事情节要胜过现代2,游戏场景也多,沙漠,古堡,丛林,都市等等!而且某些现代2中的场景它也包含,感觉很爽!不过枪的种类个人感觉太少,而且游戏场景中的一些皮肤不是很精细!和孤岛惊魂的丛林比起来,差了一大截!

全文阅读 »

IE6、 IE7、IE8、Firefox兼容性问题

2010/02/24 1:54 下午  |  分类:jQuery+Css
1.区别IE和非IE浏览器

#tip {
background:blue; /*非IE 背景藍色*/
background:red \9; /*IE6、IE7、IE8背景紅色*/
}


2.区别IE6,IE7,IE8,FF

【区别符号】:「\9」、「*」、「_」
【示例】:

#tip {
background:blue; /*Firefox 背景变蓝色*/
background:red \9; /*IE8 背景变红色*/
*background:black; /*IE7 背景变黑色*/
_background:orange; /*IE6 背景变橘色*/
}

【说明】:因为IE系列浏览器可读「\9」,而IE6和IE7可读「*」(米字号),另外IE6可辨识「_」(底线),因此可以依照顺序写下来,就会让浏 览器正确的读取到自己看得懂得CSS语法,所以就可以有效区分IE各版本和非IE浏览器(像是Firefox、Opera、Google Chrome、Safari等)。

全文阅读 »

Go back for work

2010/02/21 11:50 上午  |  分类:日记类

今天是初八,上班的第一天!

事儿很多,多半都是年前留下来的善后工作!琐碎而且繁杂!

十天的假期,基本上迫使我忘记了很多东西!还快速的恢复这些记忆!

更可恨的是,打开电脑,竟然发现FF不能用了,不仅是它,chrome也不能用!只能打开IE,其他都免谈!这我还杂活啊!折腾了半天,也没头绪!卸载了很多猜测可能是问题的软件,还是不行!最最后下载了个安装版的FF,总算搞定了!恢复了我的U盘版FF的收藏夹,世界总算恢复了平静!

接下来就是想办法恢复记忆了!呵呵~~希望一切顺利!加油!你们也是啊!一起努力吧!

Pages: 1 2 3 4 5 6 7 8 9 10 ...28 29 30 Next