文学常识题库

php 进阶实现无限分类(3)-经典文章-PHP教程-幽默笑话

作者:本站 | 分类:现代文学| 浏览:15

php 进阶实现无限分类(3)-经典文章-PHP教程-幽默笑话

文章内容php进阶:实现无限分类(3)修改时间:[2008/05/2515:41]阅读次数:[580]发表者:[起缘]3.程序控制------------------------------------------------------------实现无限分类这个功能中就属这一步最为复杂辛苦,首先看看程序需要完成的步骤:1)创建分类上传;2)创建信息上传;3)明确显示各分类及其之间的关系;4)处理查询功能;5)如何处理编辑和删除的功能;而这五步中最为困难的就是第五个步骤,因为对分类的编辑和删除涉及到一至性的问题.下面我就逐一描述php的程序控制:1)创建分类上传在介绍这个功能前,先介绍一下explode()这个函数,这是个字串处理函数,用来分解字串的,具体的用法,例:分解"0:1:2:3:4"里的数字$val=0:1:2:3:4;$rid=explode(":",$val);经过explode()函数处理,$val内的所有数字都分解到$rid数组中了,要引用时只需打印:echo$rid[0],$rid[1],$rid[2]...";就行了.explode()函数在整个分类处理中起着非常重要的作用,好现在开始介绍无现分类的程序控制.可以假设个总分类0,所有的分类都是它的子孙分类,现在来建立第一个分类系统,来看看它在数据库的存储形式:id|uid|type|rout_id|rout_char1|0|系统|0:1|系统接着又在下面分Linux:id|uid|type|rout_id|rout_char2|1|Linux|0:1:2|系统:Linux以上就是数据库存储的形式,现在就来完成php的代码,这与论坛的代码很相似,我们所要做的就是将分类的id放入uid,而父分类的uid就放0,下面来看看代码:..........//设置默认页if(empty($func))$func==showtype;//设置父分类的uidif(empty($uid))$uid=0;//数据库存储************************************************if($func==save):$fields="";$values="";if($id!=""){$fields.=",id";$values.=",$id";}if($uid!=""){$fields.=",uid";$values.=",$uid";}if($type!=""){$fields.=",type";$values.=",$type";}if($route_id==""){//取得父分类的route_idif($uid!=0){$result=mysqlquery("select*fromtypewhereid=$uid");$route_id=mysql_result($result,0,"route_id");}else{$routr_id=0;}$fields.=",route_id";//形成自己的route_id$route_id="$route_id:$id";$values.=",$route_id";}//形成自己的route_charif($route_char!=""){$fields.=",route_char";$route_char="$route_char:$type";$values.=",$route_char";}else{$fields.=",route_char";$route_char=$type;$values.=",$route_char";}$fields=substr($fields,1,strlen($fields)-1);$values=substr($values,1,strlen($values)-1);$result=mysqlquery("insertintotype($fields)values($values)");...endif;/*endsave*///分类上传************************************************if($func==createtype)://取得自己的id$result=mysqlquery("select*fromtypeorderbyiddesc");$num=mysql_numrows($result);if(!empty($num)){$cat=mysql_result($result,0,"id");}else{$cat=0;}//判断分类的状态if($uid!=0){$result=mysql_query("select*fromtypewhereid=$uid");$type=mysql_result($result,0,"type");$route_char=mysql_result($result,0,"route_char");}else{$type=父分类;}echo"FORMACTION="$PHP_SELFfunc=save"METHOD=POSTecho"tableecho"trtd所属类别:$type/td/trecho"trtd创建分类:inputtype=textname=typeSIZE=10MAXLENGTH=100/td/trecho"trtd$cat=$cat+1;echo"inputtype=hiddenname=idvalue=$catecho"inputtype=hiddenname=uidvalue=$uidecho"inputtype=hiddenname=route_charvalue=$route_charecho"INPUTTYPE=submitNAME=SaveVALUE=保存/td/trecho"/tableecho"/formendif;/*endcreatetype*///显示分类************************************************if($func==showtype):echo"table//判断分类的状态if($uid!=0){$result=mysql_query("select*fromtypewhereid=$uid");$type=mysql_result($result,0,"type");}else{$type=父分类;}echo"trtdahref=$php_selffunc=createtypeuid=$uid创建分类/a/td/trecho"trtd$type/td/tr$result=mysql_query("select*fromtypewhereuid=$uid");$num=mysql_numrows($result);if(!empty($num)){for($i=0;$i$num;$i++){$id=mysql_result($result,$i,"id");$type=mysql_result($result,$i,"type");echo"trtdecho"ahref=$php_selffunc=showtypeuid=$id$type/aecho"/td/tr}}echo"/tableendif;/*endshowtype*/..........以上的程序便完成了无限分类的基本创建,存储和显示,接着就是完善分类创建功能的各个部分了.。

上一篇: 【转载】风湿类风湿病秘方公开    下一篇:没有了
最近更新
精彩推荐
友情链接