﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>PHP博客-苏广贤-随笔分类-PHP</title><link>http://www.phpweblog.net/susam119/category/388.html</link><description>专注成就将来！</description><language>zh-cn</language><lastBuildDate>Wed, 19 Dec 2007 10:44:00 GMT</lastBuildDate><pubDate>Wed, 19 Dec 2007 10:44:00 GMT</pubDate><ttl>60</ttl><item><title>[转载]一个无限分类处理类</title><link>http://www.phpweblog.net/susam119/archive/2007/12/19/2573.html</link><dc:creator>阿门119</dc:creator><author>阿门119</author><pubDate>Wed, 19 Dec 2007 09:22:00 GMT</pubDate><guid>http://www.phpweblog.net/susam119/archive/2007/12/19/2573.html</guid><wfw:comment>http://www.phpweblog.net/susam119/comments/2573.html</wfw:comment><comments>http://www.phpweblog.net/susam119/archive/2007/12/19/2573.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/susam119/comments/commentRss/2573.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/susam119/services/trackbacks/2573.html</trackback:ping><description><![CDATA[<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">PHP代码</span><span style="COLOR: #000000">:--------------------------------------------------------------------------------</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&lt;?</span><span style="COLOR: #000000">php&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">&nbsp;名称:&nbsp;对分类操作的业务逻辑封装&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;说明:&nbsp;本类中引用的其它类（DB、Table、Item)均未提供，所以本类只能做个参考，不能直接应用&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;不是本人小气不提供其它类，实在是因为那些都是一两年前写的类，很烂。怕大家看后对大&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;造成误导.&nbsp;在此发表这个类，只希望大家能从中学到一些程序设计的方法。&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;特点：&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;采用递归调用的方法，对分类数据只需一次数据库查询可生成树状结构。&nbsp;无限递归层次(视机器堆栈而定)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;数据库定义：&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;ID&nbsp;smallint&nbsp;unsigned&nbsp;primary&nbsp;#如果数据量很大可用int&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;ParentID&nbsp;smallint&nbsp;unsigned&nbsp;index&nbsp;#如果数据量很大可用int,&nbsp;请索引此字段&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;#如果为根分类，则ParentID&nbsp;=&nbsp;0&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;RootID&nbsp;smallint&nbsp;unsigned&nbsp;index&nbsp;#如果数据量很大可用int,&nbsp;请索引此字段&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;#如果是根分类则RootID&nbsp;=&nbsp;0,&nbsp;否则RootID&nbsp;=&nbsp;最上层的父分类ID&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;CategoryName&nbsp;varchar(n)&nbsp;#此大小自定&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;如需有其它字段定义附在后面&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;注意事项：&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;不要试图直接调用本类，除非你有和我定义那另外那几个类相对应的接口,&nbsp;否则不会成功&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;在合适的地方定义&nbsp;DBTABLE_CATEGORY&nbsp;这个常量&nbsp;190-711&nbsp;190-721&nbsp;&nbsp;，使其指向你的分类数据表名字&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;程序构架：&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;├─基础类&nbsp;&lt;!--&nbsp;完成底层数据库操作、数据抽象、语言、模板、异常、杂项等)操作&nbsp;--&gt;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;│&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;│&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;└─业务逻辑层（此类所处层次）&nbsp;&lt;!--&nbsp;利用基础类中数据操作、数据抽象等类根据表现层传递的参数完成数据处理，并返回数据或操作结果&nbsp;--&gt;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;│&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;│&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>*&nbsp;└───表现层（用户界面）&nbsp;&lt;!--&nbsp;利用业务逻辑层将取得的数据或操作数据的结果通过基础类中的界面等类进行显示&nbsp;--&gt;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008080">define</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">DBTABLE_CATEGORY</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">xxx</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;Category_Logic&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$KernelRef</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">NULL</span><span style="COLOR: #000000">;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">系统核心的引用&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$tblObj</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">NULL</span><span style="COLOR: #000000">;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">包含当前分类数据&nbsp;Table&nbsp;类的实例&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$_CurrentItem</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">NULL</span><span style="COLOR: #000000">;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">包含当前分类数据&nbsp;TItem类的实例&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$CategoryID</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">当前分类ID，如果没有当前分类此项为&nbsp;0&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//---------------------------------------------------------------------------&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//private&nbsp;array&nbsp;GetNodeData(array&nbsp;$Data,&nbsp;int&nbsp;$ParentNode)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;根据一颗指定根的并且以兄弟双亲法表示的树和当前分类的ID，返回当前分类在整个分类表中所处的位置&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$Data&nbsp;2维数组&nbsp;Array(&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;Array(&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;'ID'&nbsp;=&gt;&nbsp;分类ID,&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;'ParentID'&nbsp;=&gt;&nbsp;父分类ID,&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;'RootID'&nbsp;=&gt;&nbsp;根分类ID,&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;'CategoryName'&nbsp;=&gt;&nbsp;分类名称,&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;),&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;&#8230;&#8230;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;表示的一颗树&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$ParentNode&nbsp;父分类ID，&nbsp;每一次由调用者给出，递归时由程序计算传递&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;return&nbsp;value:&nbsp;返回以兄弟双亲法表示的所有分类的树&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;注意：&nbsp;确保当前分类已经设置，否则此函数无返回&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//---------------------------------------------------------------------------&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;GetNodeData(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$ParentNode</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$arr</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">Array</span><span style="COLOR: #000000">();&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$ArrayCount</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$cnt</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #008080">Count</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">);&nbsp;</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$cnt</span><span style="COLOR: #000000">;&nbsp;</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">ParentID</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$ParentNode</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$arr</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$ArrayCount</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">];&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$arr</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$ArrayCount</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">Child</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">GetNodeData(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">ID</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">]);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$arr</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">---------------------------------------------------------------------------&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//private&nbsp;String&nbsp;_CurrentLevel(array&nbsp;$Data,&nbsp;int&nbsp;$Current,&nbsp;String&nbsp;$ProcessFunc&nbsp;=&nbsp;'')&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;根据一颗指定根的并且以兄弟双亲法表示的树和当前分类的ID，返回当前分类在整个分类表中所处的位置&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$Data&nbsp;兄弟双亲法表示的树,&nbsp;由调用者传递&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$Current&nbsp;当前分类ID，第一次调用时由调用者给出，递归时由程序自行计算&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$ProcessFunc&nbsp;指定对分类数据的处理函数,&nbsp;函数原型定义见&nbsp;$this-&gt;PrintCurrentLevel&nbsp;中的注释&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;return&nbsp;value:&nbsp;返回当前分类在分类树中的位置&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;注意：&nbsp;确保当前分类已经设置，否则此函数无返回&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//---------------------------------------------------------------------------&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;_CurrentLevel(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$Current</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">''</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;&nbsp;</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #008080">Count</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">);&nbsp;</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">ID</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$Current</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">ParentID</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$str</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">_CurrentLevel(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">ParentID</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&nbsp;-&amp;gt;&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #800080">$str</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">.=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">]);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$str</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">.=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">CategoryName</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">];&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #800080">$str</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">]);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$str</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">CategoryName</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">];&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$str</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">---------------------------------------------------------------------------&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//public&nbsp;Category_Logic(Object&nbsp;&amp;$Kernel,&nbsp;int&nbsp;$CategoryID&nbsp;=&nbsp;-1)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;本类构造函数&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$Kernel&nbsp;此参数为当前系统核心类的一个引用，&nbsp;核心类中包括&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;数据库类、输入输出类、系统配置类等&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$CategoryID&nbsp;当前分类ID。&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;当想调用&nbsp;PrintCurrentLevel、GetRootID、GetParentID、GenerateTypeTreeList及&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;调用_CurrentItem成员的方法时请先设置此值.&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;调用GenerateTypeTreeList时设置此值，则没有ID为此的分类默认被选择，没设置则无默认&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;return&nbsp;value:&nbsp;none&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//---------------------------------------------------------------------------&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">Category_Logic(</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #800080">$Kernel</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$CategoryID</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">KernelRef&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #800080">$Kernel</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Table(</span><span style="COLOR: #800080">$Kernel</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">DBObj</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;DBTABLE_CATEGORY);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$CategoryID</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">SetCategoryID(</span><span style="COLOR: #800080">$CategoryID</span><span style="COLOR: #000000">);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">---------------------------------------------------------------------------&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//public&nbsp;void&nbsp;SetCategoryID(int&nbsp;$CategoryID)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;设置当前分类ID&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;return&nbsp;value:&nbsp;none&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//---------------------------------------------------------------------------&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;SetCategoryID(</span><span style="COLOR: #800080">$CategoryID</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">!</span><span style="COLOR: #800080">$CategoryID</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$Item</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;TItem(</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">KernelRef</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">DBObj</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;DBTABLE_CATEGORY</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$CategoryID</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">ID</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">_SelfData&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #800080">$Item</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">CategoryID&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$CategoryID</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">---------------------------------------------------------------------------&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//public&nbsp;int&nbsp;GetRootID()&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;返回当前分类的根分类ID&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;注意：只有设置的当前分类时此函数才有效&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;return&nbsp;value:&nbsp;返回当前分类的根分类ID&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//---------------------------------------------------------------------------&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;GetRootID()&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">_SelfData</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Get(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">RootID</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">---------------------------------------------------------------------------&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//public&nbsp;int&nbsp;GetParentID()&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;返回当前分类的父分类ID&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;注意：只有设置的当前分类时此函数才有效&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;return&nbsp;value:&nbsp;返回当前分类的父分类ID&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//---------------------------------------------------------------------------&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;GetParentID()&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">CategoryID)&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">_SelfData</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Get(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">ParentID</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">---------------------------------------------------------------------------&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//public&nbsp;String&nbsp;GenerateTypeTreeList(array&nbsp;$Data,&nbsp;String&nbsp;$ProcessFunc,&nbsp;int&nbsp;$floor&nbsp;=&nbsp;0)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;返回整个分类的树状结构放在OptionList中的列表&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$Data&nbsp;此参数由&nbsp;$this-&gt;DumpTypeDataToTree()&nbsp;返回&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$ProcessFunc&nbsp;处理显示分类信息的回调函数,&nbsp;函数原型请参照：&nbsp;$this-&gt;PrintCurrentLevel()&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$floor&nbsp;本参数不能人为给出，是程序自动计算的中间值&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;return&nbsp;value:&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;结构为一颗兄弟双亲表示法表示的树&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;设如分类数据如下：&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;├──1级分类&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;│&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;│&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;│&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;├─2级分类&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;│&nbsp;│&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;│&nbsp;└─3级分类&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;│&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;└─2级分类&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;则返回值为&nbsp;Array(&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;0&nbsp;=&gt;&nbsp;Array(&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;'ID'&nbsp;=&gt;&nbsp;'',&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;'ParentID'&nbsp;=&gt;&nbsp;'',&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;'RootID'&nbsp;=&gt;&nbsp;'',&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;'CategoryName'&nbsp;=&gt;&nbsp;'',&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;'Child'&nbsp;=&gt;&nbsp;<img src="http://www.phpweblog.net/Images/dot.gif">.&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<img src="http://www.phpweblog.net/Images/dot.gif">..&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//---------------------------------------------------------------------------&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;DumpTypeDataToTree(</span><span style="COLOR: #800080">$RootID</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$Fields</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">SetFields(</span><span style="COLOR: #800080">$Fields</span><span style="COLOR: #000000">);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">SetCondition(</span><span style="COLOR: #000000">''</span><span style="COLOR: #000000">);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$List</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">MapResult(</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Select());&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">GetNodeData(</span><span style="COLOR: #800080">$List</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$RootID</span><span style="COLOR: #000000">);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">---------------------------------------------------------------------------&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//public&nbsp;String&nbsp;GenerateTypeTreeList(array&nbsp;$Data,&nbsp;String&nbsp;$ProcessFunc&nbsp;=&nbsp;'',&nbsp;int&nbsp;$floor&nbsp;=&nbsp;0)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;返回整个分类的树状结构放在OptionList中的列表&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$Data&nbsp;此参数由&nbsp;$this-&gt;DumpTypeDataToTree()&nbsp;返回&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$ProcessFunc&nbsp;处理显示分类信息的回调函数,&nbsp;函数原型请参照：&nbsp;$this-&gt;PrintCurrentLevel()&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$floor&nbsp;本参数不能人为给出，是程序自动计算的中间值&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;return&nbsp;value:&nbsp;返回一个&lt;option&gt;分类名称1&lt;/option&gt;&nbsp;<img src="http://www.phpweblog.net/Images/dot.gif">&nbsp;&lt;option&gt;分类名称n&lt;/option&gt;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;ps:&nbsp;调用时echo&nbsp;"&lt;select&nbsp;name='xxxx'&gt;"&nbsp;.&nbsp;$_c-&gt;GenerateTypeTreeList($Data,&nbsp;'ProcessFunc')&nbsp;.&nbsp;"&lt;/select&gt;";&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//---------------------------------------------------------------------------&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;GenerateTypeTreeList(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$floor</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$Str</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">''</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$cnt</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #008080">Count</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">);&nbsp;</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$cnt</span><span style="COLOR: #000000">;&nbsp;</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">CategoryID&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">ID</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">])&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$Str</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">.=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;option&nbsp;value='{$Data[$i]['ID']}'&nbsp;selected&gt;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #008080">str_repeat</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&amp;nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$floor</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">├</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;(</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">?</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">])&nbsp;</span><span style="COLOR: #000000">:</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">CategoryName</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">])&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;/option&gt;\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$Str</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">.=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;option&nbsp;value='{$Data[$i]['ID']}'&gt;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #008080">str_repeat</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&amp;nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$floor</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">├</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;(</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">?</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">])&nbsp;</span><span style="COLOR: #000000">:</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">CategoryName</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">])&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;/option&gt;\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">Child</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">])&nbsp;</span><span style="COLOR: #800080">$Str</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">.=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">GenerateTypeTreeList(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">Child</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$floor</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$Str</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">---------------------------------------------------------------------------&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//public&nbsp;String&nbsp;GenerateTypeTreeView(array&nbsp;$Data,&nbsp;String&nbsp;$ProcessFunc&nbsp;=&nbsp;'')&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;返回整个分类的树状结构视图&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$Data&nbsp;此参数由&nbsp;$this-&gt;DumpTypeDataToTree()&nbsp;返回&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$ProcessFunc&nbsp;处理显示分类信息的回调函数,&nbsp;函数原型请参照：&nbsp;$this-&gt;PrintCurrentLevel()&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;return&nbsp;value:&nbsp;返回生成的一颗HTML形式显示的树&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//---------------------------------------------------------------------------&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;GenerateTypeTreeView(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$Str</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&lt;ul&nbsp;style="Line-Height:200%"&gt;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$cnt</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #008080">Count</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">);&nbsp;</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$cnt</span><span style="COLOR: #000000">;&nbsp;</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #800080">$Str</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">.=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&lt;li&gt;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">])&nbsp;</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&lt;/li&gt;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$Str</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">.=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&lt;li&gt;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">CategoryName</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&lt;/li&gt;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">Child</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">])&nbsp;</span><span style="COLOR: #800080">$Str</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">.=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&lt;li&gt;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">GenerateTypeTreeView(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">Child</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&lt;/li&gt;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$Str</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">.=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&lt;/ul&gt;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$Str</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">---------------------------------------------------------------------------&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//public&nbsp;String&nbsp;PrintCurrentLevel(String&nbsp;$ProcessFunc&nbsp;=&nbsp;'')&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;对多级分类生成当前位置字符串&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;设如分类数据如下，当前分类为3级分类,&nbsp;则调用返回&nbsp;1级分类&nbsp;-&gt;&nbsp;2级分类&nbsp;-&gt;&nbsp;3级分类&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;├──1级分类&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;│&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;│&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;│&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;├─2级分类&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;│&nbsp;│&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;│&nbsp;└─3级分类&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;│&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;└─2级分类&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$ProcessFunc&nbsp;此为对分类数据如何显示的回调函数，不设置则直接显示分类名称&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;函数定义原型为&nbsp;function&nbsp;(&amp;$arr);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;其中$arr参数为每一个分类信息的一维数组如下：&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;array(ID&nbsp;=&gt;&nbsp;1,&nbsp;ParentID&nbsp;=&gt;&nbsp;0,&nbsp;RootID&nbsp;=&gt;&nbsp;0,&nbsp;CategoryName&nbsp;=&gt;&nbsp;'1级分类')&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;返回值为对上述数据处理的结果，比如返回带链接的分类名字、更改显示颜色等&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;return&nbsp;value:&nbsp;返回当前分类在整个分类树中所处位置&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//---------------------------------------------------------------------------&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;PrintCurrentLevel(</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">''</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">!</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">CategoryID)&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">''</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">_SelfData</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Get(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">RootID</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">_SelfData</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">fetchDataToArray());&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">_SelfData</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Get(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">CategoryName</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$Current</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">CategoryID;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">SetCondition(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">RootID&nbsp;=&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">_SelfData</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Get(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">RootID</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;or&nbsp;ID&nbsp;=&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">_SelfData</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Get(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">RootID</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">));&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">MapResult(</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Select());&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">_CurrentLevel(</span><span style="COLOR: #800080">$Data</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$Current</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$ProcessFunc</span><span style="COLOR: #000000">);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">---------------------------------------------------------------------------&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//public&nbsp;boolean&nbsp;Add(array&nbsp;$arr)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;添加新分类到分类表中&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$arr&nbsp;在此数组中包括对新添加分类的定义,&nbsp;定义如下：&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;$arr['RootID']&nbsp;新分类所属的根分类ID&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;$arr['ParentID']&nbsp;新分类的父分类ID&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;$arr['CategoryName']&nbsp;新分类的名称&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;return&nbsp;value:&nbsp;返回添加分类操作结果&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//---------------------------------------------------------------------------&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;Add(</span><span style="COLOR: #800080">$arr</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">SetFields(&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">Array</span><span style="COLOR: #000000">(&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">RootID</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">ParentID</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">CategoryName</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Insert(&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">Array</span><span style="COLOR: #000000">(&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$arr</span><span style="COLOR: #000000">[</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">RootID</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$arr</span><span style="COLOR: #000000">[</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">ParentID</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$arr</span><span style="COLOR: #000000">[</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">CategoryName</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">---------------------------------------------------------------------------&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//public&nbsp;boolean&nbsp;Delete(int&nbsp;$ID)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;删除已经存在的分类&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$ID&nbsp;要删除的分类ID&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;return&nbsp;value:&nbsp;返回删除分类操作结果&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//---------------------------------------------------------------------------&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;Delete(</span><span style="COLOR: #800080">$ID</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$sysOption</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">KernelRef</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Config;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">SetFields(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">SetCondition(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">ID&nbsp;=&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;(int)</span><span style="COLOR: #800080">$ID</span><span style="COLOR: #000000">);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Delete();&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">---------------------------------------------------------------------------&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//public&nbsp;boolean&nbsp;Modify(int&nbsp;$ID,&nbsp;array&nbsp;$arr)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;修改已经存在的分类&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$ID&nbsp;要修改的分类ID&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$arr&nbsp;在此数组中包括修改后的分类定义,&nbsp;定义如下：&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;$arr['RootID']&nbsp;新分类所属的根分类ID&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;$arr['ParentID']&nbsp;新分类的父分类ID&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;$arr['CategoryName']&nbsp;新分类的名称&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;return&nbsp;value:&nbsp;返回修改分类操作结果&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//---------------------------------------------------------------------------&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;Modify(</span><span style="COLOR: #800080">$ID</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$arr</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">SetCondition(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">ID&nbsp;=&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;(int)</span><span style="COLOR: #800080">$ID</span><span style="COLOR: #000000">);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$prev</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">MapOneRow(</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Select());&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">SetFields(&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">Array</span><span style="COLOR: #000000">(&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">RootID</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">ParentID</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">CategoryName</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Update(</span><span style="COLOR: #800080">$arr</span><span style="COLOR: #000000">);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">---------------------------------------------------------------------------&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//public&nbsp;array&nbsp;Modify(int&nbsp;$ID)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;修改已经存在的分类&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;@param:&nbsp;$ID&nbsp;指定的分类ID&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;return&nbsp;value:&nbsp;返回指定ID分类的信息&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;数组中包括：&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;Array(&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;'ID'&nbsp;=&gt;&nbsp;分类ID,&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;'ParentID'&nbsp;=&gt;&nbsp;父分类ID,&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;'RootID'&nbsp;=&gt;&nbsp;根分类ID,&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;'CategoryName'&nbsp;=&gt;&nbsp;分类名称,&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>//---------------------------------------------------------------------------&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;GetCategory(</span><span style="COLOR: #800080">$ID</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>{&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">SetCondition(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">ID&nbsp;=&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">&nbsp;(int)</span><span style="COLOR: #800080">$ID</span><span style="COLOR: #000000">);&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">MapOneRow(</span><span style="COLOR: #800080">$this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">tblObj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Select());&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>}&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">?&gt;</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span></div>
<img src ="http://www.phpweblog.net/susam119/aggbug/2573.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/susam119/" target="_blank">阿门119</a> 2007-12-19 17:22 <a href="http://www.phpweblog.net/susam119/archive/2007/12/19/2573.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>PHP的CheckBox注意事项</title><link>http://www.phpweblog.net/susam119/archive/2007/12/08/2507.html</link><dc:creator>阿门119</dc:creator><author>阿门119</author><pubDate>Sat, 08 Dec 2007 06:43:00 GMT</pubDate><guid>http://www.phpweblog.net/susam119/archive/2007/12/08/2507.html</guid><wfw:comment>http://www.phpweblog.net/susam119/comments/2507.html</wfw:comment><comments>http://www.phpweblog.net/susam119/archive/2007/12/08/2507.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/susam119/comments/commentRss/2507.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/susam119/services/trackbacks/2507.html</trackback:ping><description><![CDATA[PHP的CheckBox按钮组名命要在后面加上[]，所以今后一定要注意！<br><img src ="http://www.phpweblog.net/susam119/aggbug/2507.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/susam119/" target="_blank">阿门119</a> 2007-12-08 14:43 <a href="http://www.phpweblog.net/susam119/archive/2007/12/08/2507.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]NuSOAP的使用说明</title><link>http://www.phpweblog.net/susam119/archive/2007/12/01/2445.html</link><dc:creator>阿门119</dc:creator><author>阿门119</author><pubDate>Sat, 01 Dec 2007 01:09:00 GMT</pubDate><guid>http://www.phpweblog.net/susam119/archive/2007/12/01/2445.html</guid><wfw:comment>http://www.phpweblog.net/susam119/comments/2445.html</wfw:comment><comments>http://www.phpweblog.net/susam119/archive/2007/12/01/2445.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/susam119/comments/commentRss/2445.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/susam119/services/trackbacks/2445.html</trackback:ping><description><![CDATA[今天看到一程序运用到NuSOAP,查了一下相关资料，发现用处也挺大的，又增长了知识。转载一下作个记录吧。<br>
<p>NuSOAP&nbsp;是&nbsp;PHP&nbsp;环境下的&nbsp;WEB&nbsp;服务编程工具，用于创建或调用&nbsp;WEB&nbsp;服务。它是一个开源软件，当前版本是&nbsp;0.7.2&nbsp;，支持&nbsp;SOAP1.1&nbsp;、&nbsp;WSDL1.1&nbsp;，可以与其他支持&nbsp;SOAP1.1&nbsp;和&nbsp;WSDL1.1&nbsp;的系统互操作。&nbsp;NuSOAP&nbsp;完全由PHP语言编写，由一系列&nbsp;PHP&nbsp;类组成，不需要扩展库的支持，这种特性使得&nbsp;NuSOAP&nbsp;可以用于所有的&nbsp;PHP&nbsp;环境，不受服务器安全设置的影响。&nbsp;</p>
<h1>&nbsp;</h1>
<h1>1.&nbsp;NuSOAP&nbsp;的获取和安装&nbsp;</h1>
<p>NuSOAP&nbsp;项目建立在&nbsp;SourceForge&nbsp;上，网络地址是：&nbsp;<a href="http://sourceforge.net/projects/nusoap/"><font color=#006629>http://sourceforge.net/projects/nusoap/&nbsp;</font></a>&nbsp;或&nbsp;<a href="http://dietrich.ganx4.com/nusoap"><font color=#009900>http://dietrich.ganx4.com/nusoap</font></a>，这里，可以下载到&nbsp;NuSOAP&nbsp;的最新的版本。&nbsp;</p>
<p>NuSOAP&nbsp;的安装比较简单，把下载的&nbsp;NuSOAP&nbsp;的文件拷贝到服务器上，可以放在独立的目录里，也可以与程序代码放在相同的目录里，只要你的&nbsp;PHP&nbsp;代码能够访问到这些文件就可以了。&nbsp;</p>
<p>本文的测试环境基于&nbsp;PHP4.3.2&nbsp;和&nbsp;NuSOAP&nbsp;0.7.2&nbsp;版本，&nbsp;NuSOAP&nbsp;安装在&nbsp;WEB&nbsp;目录&#8220;&nbsp;/nusoap&nbsp;&#8221;里，有两个子目录，&nbsp;lib&nbsp;和&nbsp;samples&nbsp;。其中，&nbsp;lib&nbsp;目录下存放&nbsp;NuSOAP&nbsp;的所有源代码文件，&nbsp;samples&nbsp;目录下是NuSOAP开发小组提供一些的例子。测试文件存放在&nbsp;WEB&nbsp;目录&#8220;&nbsp;/nusoap&nbsp;&#8221;里。&nbsp;</p>
<h1>&nbsp;</h1>
<h1>2.&nbsp;NuSOAP&nbsp;的使用&nbsp;</h1>
<p>NuSOAP&nbsp;由一&nbsp;PHP&nbsp;的类组成，其中最常用到的是类soap_server和类soalclient。类soap_server&nbsp;用于创建&nbsp;WEB&nbsp;服务，类soapclient在访问WEB服务时会用到。&nbsp;</p>
<h2>2.1&nbsp;一个简单的例子：&nbsp;Hello&nbsp;World&nbsp;</h2>
<p>这个例子将利用&nbsp;NuSOAP&nbsp;创建一个简单的&nbsp;WEB&nbsp;服务，并利用&nbsp;NuSOAP&nbsp;创建一个客户端程序，调用这个服务。这个服务唯一的功能就是向客户端返回一个字符串&#8220;&nbsp;Hello&nbsp;World&nbsp;&#8221;。首先，创建&nbsp;WEB&nbsp;服务程序代码文件&#8220;&nbsp;/nusoap/nusoap_server1.php&nbsp;&#8221;：&nbsp;</p>
<pre>//把&nbsp;NuSOAP&nbsp;的源文件包含到当前的代码文件里&nbsp;
&lt;?php&nbsp;
require_once("lib/nusoap.php");&nbsp;
//定义服务程序&nbsp;
function&nbsp;hello()&nbsp;{&nbsp;
&nbsp;&nbsp;return&nbsp;'Hello&nbsp;World!';&nbsp;
}&nbsp;
//初始化服务对象&nbsp;,&nbsp;这个对象是类&nbsp;soap_server&nbsp;的一个实例&nbsp;
$soap&nbsp;=&nbsp;new&nbsp;soap_server;&nbsp;</pre>
<pre>//调用服务对象的&nbsp;register&nbsp;方法注册需要被客户端访问的程序。
//只有注册过的程序，才能被远程客户端访问到。
$soap-&gt;register('hello');&nbsp;</pre>
<pre>//最后一步，把客户端通过&nbsp;post&nbsp;方式提交的数据，传递给服务对象的&nbsp;service&nbsp;方法。&nbsp;
//service&nbsp;方法处理输入的数据，调用相应的函数或方法，并且生成正确的反馈，传回给客户端。
$soap-&gt;service($HTTP_RAW_POST_DATA);
?&gt;&nbsp;</pre>
<p>至此，&nbsp;WEB&nbsp;服务程序代码文件已经建好，接下来，创建一个客户端程序代码文件&#8220;&nbsp;/nusoap/nusoap_client1.php&nbsp;&#8221;，调用&nbsp;WEB&nbsp;服务：&nbsp;</p>
<pre>//把&nbsp;NuSOAP&nbsp;的源文件包含到当前的代码文件里
&lt;?php&nbsp;
require_once("lib/nusoap.php");
//初始化客户端对象，这个对象是类&nbsp;soapclient&nbsp;的一个实例，
//把服务程序的&nbsp;URL&nbsp;地址传递给soapclient类的构造函数。
$client&nbsp;=&nbsp;new&nbsp;soapclient('http://127.0.0.1/nusoap/nusoap_server1.php');&nbsp;</pre>
<pre>//利用客户端对象的&nbsp;call&nbsp;方法调用&nbsp;WEB&nbsp;服务的程序
$str=$client-&gt;call('hello');&nbsp;</pre>
<pre>//客户端对象的&nbsp;getError()&nbsp;方法可以用来检查调用过程是否出现错误。
//如果没有错误，&nbsp;getError()&nbsp;方法返回&nbsp;false&nbsp;；如果有错误，&nbsp;getError()方法返回错误信息。
if&nbsp;(!$err=$client-&gt;getError())&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;"&nbsp;程序返回&nbsp;:",htmlentities($str,ENT_QUOTES);
}&nbsp;else&nbsp;{&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;"&nbsp;错误&nbsp;:",htmlentities($err,ENT_QUOTES);
}
?&gt;&nbsp;</pre>
<p>至此，客户端程序也建立好了，打开浏览器，访问客户端程序，看一下结果。这个例子，浏览器会显示字符串：&#8220;程序返回&nbsp;:Hello&nbsp;World!&nbsp;&#8221;&nbsp;</p>
<h2>2.2&nbsp;传递参数和返回错误信息的方法&nbsp;</h2>
<p>再通过例子说明传递参数和返回错误信息的方法。这个例子实现两个字符串的连接，参数是两个字符串，返回值是由两个参数连接而成的字符串。首先，创建服务程序代码文件&#8220;&nbsp;/nusoap/nusoap_server2.php&nbsp;&#8221;，完整的代码如下：&nbsp;</p>
<pre>&lt;?php&nbsp;
require_once("lib/nusoap.php");&nbsp;
function&nbsp;concatenate($str1,$str2)&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(is_string($str1)&nbsp;&amp;&amp;&nbsp;is_string($str2))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$str1&nbsp;.&nbsp;$str2;
&nbsp;&nbsp;&nbsp;&nbsp;else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;new&nbsp;soap_fault('&nbsp;客户端&nbsp;','','concatenate&nbsp;函数的参数应该是两个字符串&nbsp;');
}
$soap&nbsp;=&nbsp;new&nbsp;soap_server;
$soap-&gt;register('concatenate');
$soap-&gt;service($HTTP_RAW_POST_DATA);
?&gt;&nbsp;</pre>
<p>与&nbsp;2.1&nbsp;节&nbsp;WEB&nbsp;服务程序的代码比较，这里的代码结构大体是相同的。注意以下两点：</p>
<ul>
    <li>服务程序的定义不同，带有两个参数。&nbsp;NuSOAP&nbsp;注册服务程序的过程还是一样的，都是调用服务对象的&nbsp;register&nbsp;方法。&nbsp;
    <li>这里使用了&nbsp;NuSOAP&nbsp;的一个新类&nbsp;soap_fault&nbsp;。当传入的两个参数有一个不是字符串时，程序通过这个类把错误信息返回给客户端。这个类的构造函数有&nbsp;4&nbsp;个参数：&nbsp; </li>
</ul>
<table cellSpacing=0 cellPadding=0 align=center>
    <tbody>
        <tr>
            <td vAlign=top width=108>
            <p>fault</p>
            <p>code&nbsp;</p>
            </td>
            <td vAlign=top width=388>
            <p>必填参数&nbsp;,&nbsp;建议值为&#8220;&nbsp;Client&nbsp;&#8221;或&#8220;&nbsp;Server&nbsp;&#8221;，指明错误是客户端的错误还是服务端的错误。&nbsp;</p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=108>
            <p>faultactor&nbsp;</p>
            </td>
            <td vAlign=top width=388>
            <p>预留项，现在还没有使用&nbsp;</p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=108>
            <p>faultstring&nbsp;</p>
            </td>
            <td vAlign=top width=388>
            <p>错误的描述信息&nbsp;</p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=108>
            <p>faultdetail&nbsp;</p>
            </td>
            <td vAlign=top width=388>
            <p>可选项，&nbsp;XML&nbsp;格式的数据&nbsp;,&nbsp;说明详细的错误信息&nbsp;</p>
            </td>
        </tr>
    </tbody>
</table>
<p>客户端程序代码文件&#8220;&nbsp;/nusoap/nusoap_client2.php&nbsp;&#8221;的完整内容如下&nbsp;:&nbsp;</p>
<pre>&lt;?php
require_once("lib/nusoap.php");
$client&nbsp;=&nbsp;new&nbsp;soapclient('http://127.0.0.1/nusoap/nusoap_server2.php');
$parameters=array('&nbsp;字符串&nbsp;1','&nbsp;字符串&nbsp;2');
$str=$client-&gt;call('concatenate',$parameters);
if&nbsp;(!$err=$client-&gt;getError())&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;"&nbsp;程序返回&nbsp;:",$str;
}&nbsp;else&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;"&nbsp;错误&nbsp;:",$err;
}
?&gt;&nbsp;</pre>
<p>NuSOAP&nbsp;的客户端调用带参数的&nbsp;WEB&nbsp;服务时，使用数组传递参数。&nbsp;$parameters&nbsp;是一个数组，其中依次是每个参数的值。客户端在调用远程的服务程序时，使用带有两个参数的&nbsp;call&nbsp;方法，第一个参数是服务程序的名称，第二个参数是服务程序的参数数组，这里是&nbsp;$parameters&nbsp;。通过浏览器访问上面的客户端程序，浏览器上会显示字符串：&#8220;&nbsp;程序返回&nbsp;:&nbsp;字符串&nbsp;1&nbsp;字符串&nbsp;2&nbsp;&#8221;&nbsp;</p>
<p>接下来，试着给&nbsp;WEB&nbsp;服务程序传入错误参数，修改上面的客户端程序，把生成参数数组的语句改成：&nbsp;$parameters=array(&#8220;&nbsp;字符串&nbsp;&#8221;,12)&nbsp;，再通过浏览器访问客户端程序，浏览器上会显示字符串：&#8220;错误&nbsp;:&nbsp;客户端&nbsp;:&nbsp;concatenate&nbsp;函数的参数应该是两个字符串&#8221;。&nbsp;WEB&nbsp;服务程序判断传入的参数有一个不是字符串，通过&nbsp;soap_fault&nbsp;给客户端返回错误信息。&nbsp;</p>
<h2>2.3&nbsp;调试的方法&nbsp;</h2>
<p>NuSOAP中常用的调试方法有三种:</p>
<h3>2.3.1&nbsp;soapclient&nbsp;类的&nbsp;request&nbsp;和&nbsp;response&nbsp;成员变量&nbsp;</h3>
<p>最直接的调试方法就是检查访问&nbsp;WEB&nbsp;服务的过程中，客户端发出的&nbsp;request&nbsp;信息和服务端返回的&nbsp;response&nbsp;信息。&nbsp;soapclient&nbsp;类的&nbsp;request&nbsp;和&nbsp;response&nbsp;成员变量包含这些信息，在程序中显示出这两个变量的内容，可以帮助分析程序运行的情况。看下面的代码:</p>
<pre>&lt;?php
require_once("lib/nusoap.php");
$client&nbsp;=&nbsp;new&nbsp;soapclient('http://127.0.0.1/nusoap/nusoap_server2.php');
$parameters=array('&nbsp;字符串&nbsp;1','&nbsp;字符串&nbsp;2');
$str=$client-&gt;call('concatenate',$parameters);
if&nbsp;(!$err=$client-&gt;getError())&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;"&nbsp;程序返回&nbsp;:",$str;
}&nbsp;else&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;"&nbsp;错误&nbsp;:",$err;
}
//下面显示request和response&nbsp;变量的内容
echo&nbsp;'&lt;p/&gt;';
echo&nbsp;'Request:';
echo&nbsp;'&lt;pre&gt;',htmlspecialchars($client-&gt;request,ENT_QUOTES),'&lt;/pre&gt;';
echo&nbsp;'Response:';
echo&nbsp;'&lt;pre&gt;',htmlspecialchars($client-&gt;response,ENT_QUOTES&nbsp;),'&lt;/pre&gt;';&nbsp;
?&gt;&nbsp;
</pre>
<h3>2.3.2&nbsp;soapclient&nbsp;类的&nbsp;debug_str&nbsp;成员变量&nbsp;</h3>
<p>soapclient&nbsp;类的&nbsp;debug_str&nbsp;成员变量提供了更为详细的调试信息，查看这个变量的内容，可以更好地帮助程序调试。&nbsp;</p>
<h3>2.3.3&nbsp;WEB&nbsp;服务程序提供的调试方法&nbsp;</h3>
<p>WEB&nbsp;服务程序代码中，在创建&nbsp;soap_server&nbsp;类的实例前，定义变量&nbsp;$debug=1&nbsp;。调试信息作为备注，放在&nbsp;SOAP&nbsp;消息的尾部返回客户端，客户端通过查看&nbsp;WEB&nbsp;服务的&nbsp;response&nbsp;信息来查看调试信息。</p>
<pre>&lt;?php&nbsp;
require_once("lib/nusoap.php");&nbsp;
function&nbsp;concatenate($str1,$str2)&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(is_string($str1)&nbsp;&amp;&amp;&nbsp;is_string($str2))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$str1&nbsp;.&nbsp;$str2;
&nbsp;&nbsp;&nbsp;&nbsp;else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;new&nbsp;soap_fault('&nbsp;客户端&nbsp;','','concatenate&nbsp;函数的参数应该是两个字符串&nbsp;');
}
$debug=1;&nbsp;//定义调试
$soap&nbsp;=&nbsp;new&nbsp;soap_server;
$soap-&gt;register('concatenate');
$soap-&gt;service($HTTP_RAW_POST_DATA);
?&gt;&nbsp;</pre>
<h2>2.4&nbsp;对&nbsp;WSDL&nbsp;的支持&nbsp;</h2>
<p>NuSOAP&nbsp;内部通过类&nbsp;"WSDL"&nbsp;实现对&nbsp;WSDL&nbsp;的支持。对于&nbsp;NuSOAP&nbsp;的用户来说，不需要关心内部的WSDL类是如何工作的，正确地使用&nbsp;soap_server&nbsp;类和&nbsp;soapclient&nbsp;类就可以实现对&nbsp;WSDL&nbsp;的支持。&nbsp;</p>
<h3>2.4.1&nbsp;创建支持&nbsp;WSDL&nbsp;的&nbsp;WEB&nbsp;服务&nbsp;</h3>
<p>为了实现&nbsp;WEB&nbsp;服务程序对&nbsp;WSDL&nbsp;的支持，需要使用&nbsp;soap_server&nbsp;的&nbsp;configureWSDL&nbsp;方法，并且在调用&nbsp;soap_server&nbsp;的&nbsp;register&nbsp;方法注册&nbsp;WEB&nbsp;服务程序时，需要提供更详细的参数。看下面的代码，代码的文件名是&nbsp;&#8220;/nusoap/nusoap_server3.php&#8221;。&nbsp;</p>
<pre>&lt;?php
require_once("lib/nusoap.php");
function&nbsp;concatenate($str1,$str2)&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(is_string($str1)&nbsp;&amp;&amp;&nbsp;is_string($str2))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$str1&nbsp;.&nbsp;$str2;
&nbsp;&nbsp;&nbsp;&nbsp;else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;new&nbsp;soap_fault('&nbsp;客户端&nbsp;','','concatenate&nbsp;函数的参数应该是两个字符串&nbsp;');
}
$soap&nbsp;=&nbsp;new&nbsp;soap_server;
$soap-&gt;configureWSDL('concatenate');&nbsp;//&nbsp;初始化对&nbsp;WSDL&nbsp;的支持
//&nbsp;注册服务
$soap-&gt;register('concatenate',
array("str1"=&gt;"xsd:string","str2"=&gt;"xsd:string"),&nbsp;//&nbsp;输入参数的定义
array("return"=&gt;"xsd:string")&nbsp;//&nbsp;返回参数的定义
);
$HTTP_RAW_POST_DATA&nbsp;=&nbsp;isset($HTTP_RAW_POST_DATA)&nbsp;?&nbsp;$HTTP_RAW_POST_DATA&nbsp;:&nbsp;'';
$soap-&gt;service($HTTP_RAW_POST_DATA);
?&gt;&nbsp;</pre>
<p>现在打开浏览器，访问刚才建立的文件，http://127.0.0.1/nusoap/nusoap_server3.php，结果如下：</p>
<div><br><br>
<div>concatenate</div>
<div>
<p>View&nbsp;the&nbsp;<strong>WSDL</strong>&nbsp;for&nbsp;the&nbsp;service.&nbsp;Click&nbsp;on&nbsp;an&nbsp;operation&nbsp;name&nbsp;to&nbsp;view&nbsp;it&amp;apos;s&nbsp;details.</p>
<ul>
    <li><strong>concatenate</strong>&nbsp; </li>
</ul>
</div>
</div>
<p>点击函数名称concatenate，可以看到对函数的描述。点击"WSDL"，或者访问WEB服务文件，并在后面加上查询字符串"?wsdl"(http://127.0.0.1/nusoap/nusoap_server3.php?wsdl)，可以得到WEB服务的WSDL内容。</p>
<h3>2.4.2&nbsp;通过&nbsp;WSDL&nbsp;调用&nbsp;WEB&nbsp;服务&nbsp;</h3>
<p>通过&nbsp;WSDL&nbsp;调用&nbsp;WEB&nbsp;服务，与不通过&nbsp;WSDL&nbsp;调用&nbsp;WEB&nbsp;服务，程序的结构大体相同。区别在于，通过&nbsp;WSDL&nbsp;调用&nbsp;WEB&nbsp;服务，初始化&nbsp;soapclient&nbsp;类时，传入两个参数到&nbsp;soapclient&nbsp;的构造函数，第一个参数是&nbsp;WSDL&nbsp;文件的地址，第二个参数指定是否使用&nbsp;WSDL&nbsp;，指定为&nbsp;true&nbsp;即可。看下面的代码，代码的文件名是&nbsp;&#8220;&nbsp;/nusoap/nusoap_client3.php&nbsp;&#8221;&nbsp;</p>
<pre>&lt;?php
require_once("lib/nusoap.php");
$client&nbsp;=&nbsp;new&nbsp;soapclient('http://127.0.0.1/nusoap/nusoap_server3.php?wsdl',true);
$parameters=array('&nbsp;字符串&nbsp;1','&nbsp;字符串&nbsp;2');
$str=$client-&gt;call('concatenate',$parameters);
if&nbsp;(!$err=$client-&gt;getError())&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;"&nbsp;程序返回&nbsp;:",$str;
}&nbsp;else&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;"&nbsp;错误&nbsp;:",$err;
}
?&gt;&nbsp;</pre>
<h3>2.4.3&nbsp;代理的使用&nbsp;</h3>
<p>NuSOAP&nbsp;提供代理的方法调用远程&nbsp;WEB&nbsp;服务。这种方法，在客户端程序里面创建一个远程服务的代理对象，通过代理直接调用远程的&nbsp;WEB&nbsp;服务，而不需要通过&nbsp;soalclient&nbsp;类的&nbsp;call&nbsp;方法。看下面的代码。&nbsp;</p>
<pre>&lt;?php
require_once("lib/nusoap.php");
$client&nbsp;=&nbsp;new&nbsp;soapclient('http://127.0.0.1/nusoap/nusoap_server3.php?wsdl',true);
$proxy=$client&nbsp;-&gt;&nbsp;getProxy();&nbsp;//&nbsp;创建代理对象&nbsp;(soap_proxy&nbsp;类&nbsp;)
$str=$proxy-&gt;concatenate("&nbsp;参数&nbsp;1","&nbsp;参数&nbsp;2");&nbsp;//&nbsp;直接调用&nbsp;WEB&nbsp;服务
if&nbsp;(!$err=$proxy-&gt;getError())&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;"&nbsp;程序返回&nbsp;:",$str;
}&nbsp;else&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;"&nbsp;错误&nbsp;:",$err;
}
?&gt;&nbsp;
</pre>
<h2>3.&nbsp;更多的学习资源&nbsp;</h2>
<ul>
    <li><a href="http://dietrich.ganx4.com/nusoap/"><font color=#006629>http://dietrich.ganx4.com/nusoap/</font></a>&nbsp;
    <li>Scott&nbsp;Nichol.&nbsp;<a href="http://www.scottnichol.com/nusoapprog.htm"><font color=#006629>Programming&nbsp;with&nbsp;NuSOAP</font></a>.&nbsp;24&nbsp;Apr&nbsp;2003&nbsp;
    <li>Scott&nbsp;Nichol.&nbsp;<a href="http://www.scottnichol.com/nusoapprog2.htm"><font color=#006629>Programming&nbsp;with&nbsp;NuSOAP&nbsp;Part&nbsp;2</font></a>.&nbsp;29&nbsp;May&nbsp;2003&nbsp;
    <li>Scott&nbsp;Nichol.&nbsp;<a href="http://www.scottnichol.com/nusoapintro.htm"><font color=#006629>Introduction&nbsp;to&nbsp;NuSOAP</font></a>.&nbsp;03&nbsp;Nov&nbsp;2004&nbsp;
    <li>Scott&nbsp;Nichol.&nbsp;<a href="http://www.scottnichol.com/nusoapprogwsdl.htm"><font color=#006629>Programming&nbsp;with&nbsp;NuSOAP&nbsp;Using&nbsp;WSDL</font></a>.&nbsp;11&nbsp;Nov&nbsp;2003&nbsp; </li>
</ul>
<img src ="http://www.phpweblog.net/susam119/aggbug/2445.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/susam119/" target="_blank">阿门119</a> 2007-12-01 09:09 <a href="http://www.phpweblog.net/susam119/archive/2007/12/01/2445.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于time()函数的用法</title><link>http://www.phpweblog.net/susam119/archive/2007/11/30/2425.html</link><dc:creator>阿门119</dc:creator><author>阿门119</author><pubDate>Fri, 30 Nov 2007 06:58:00 GMT</pubDate><guid>http://www.phpweblog.net/susam119/archive/2007/11/30/2425.html</guid><wfw:comment>http://www.phpweblog.net/susam119/comments/2425.html</wfw:comment><comments>http://www.phpweblog.net/susam119/archive/2007/11/30/2425.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/susam119/comments/commentRss/2425.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/susam119/services/trackbacks/2425.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;我想有很多人都在用date()函数来获取时间,然后在数据库中,使用datetime格式来储存,这个方法不是说比用time()函数差,只不过在PHP中使用time函数获得的是Unix时间戳,这个是很精确的时间,<strong>关于Unix时间戳,大概是这个意思,从1970年0时0分0秒开始到现在的秒数</strong>.使用它来获得的是一个INT值,储存在数据库里只要使用INT格式就可以了，方便数据库进行排序,搜索,而且比datetime格式更节省数据库空间。所以我建议大家使用time函数来获得时间。<br>&nbsp;&nbsp;&nbsp;&nbsp; 那么如何来使用time函数呢.下面我给个例子大家就会明白了<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">&lt;?</span><span style="COLOR: #000000">php&nbsp;&nbsp;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #800080">$time</span><span style="COLOR: #000000">=</span><span style="COLOR: #008080">time</span><span style="COLOR: #000000">()&nbsp;&nbsp;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">&nbsp;下面是显示怎么输出,在实际使用当中，我们只要把上面获得的时间储存在数据库中,需要显示的时候在用下面的方法来使用</span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000">&nbsp;&nbsp;<br><img src="http://www.phpweblog.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #800080">$time</span><span style="COLOR: #000000">=</span><span style="COLOR: #008080">date</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">y-m-d&nbsp;H