<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>万峰&#8217;s Blog &#187; Php/MySql/Js</title>
	<atom:link href="http://www.ue360.net/category/php-mysql-js/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ue360.net</link>
	<description>To live only once...but with hope（尽管人生只有一次...却要活得充满希望）</description>
	<lastBuildDate>Thu, 27 May 2010 00:24:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.3</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>JavaScript类和继承：constructor属性</title>
		<link>http://www.ue360.net/2010/03/constructor/</link>
		<comments>http://www.ue360.net/2010/03/constructor/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 07:01:16 +0000</pubDate>
		<dc:creator>Kelvin</dc:creator>
				<category><![CDATA[Php/MySql/Js]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.ue360.net/?p=227</guid>
		<description><![CDATA[constructor属性始终指向创建当前对象的构造函数。比如下面例子：

// 等价于 var foo = new Array(1, 56, 34, 12);&#160; 

var arr = [1, 56, 34, 12];&#160; 

<span class="readmore"><a href="http://www.ue360.net/2010/03/constructor/" title="JavaScript类和继承：constructor属性">阅读全文——共1988字</a></span>]]></description>
			<content:encoded><![CDATA[<p>constructor属性始终指向创建当前对象的构造函数。比如下面例子：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline">// 等价于 var foo = new Array(1, 56, 34, 12);&nbsp; </li>
<li>var arr = [1, 56, 34, 12];&nbsp; </li>
<li>console.log(arr.constructor === Array); // true&nbsp; </li>
<li>// 等价于 var foo = new Function();&nbsp; </li>
<li>var Foo = function() { };&nbsp; </li>
<li>console.log(Foo.constructor === Function); // true&nbsp; </li>
<li>// 由构造函数实例化一个obj对象&nbsp; </li>
<li>var obj = new Foo();&nbsp; </li>
<li>console.log(obj.constructor === Foo); // true&nbsp; </li>
<li>&nbsp;</li>
<li>// 将上面两段代码合起来，就得到下面的结论&nbsp; </li>
<li>console.log(obj.constructor.constructor === Function); // true</li></ol></div>
<p>但是当constructor遇到prototype时，有趣的事情就发生了。</p>
<p>我们知道每个函数都有一个默认的属性prototype，而这个prototype的constructor默认指向这个函数。如下例所示：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">Person</span><span style="color: Olive;">(</span><span style="color: Blue;">name</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">this</span><span style="color: Gray;">.</span><span style="color: Blue;">name</span><span style="color: Gray;"> = </span><span style="color: Blue;">name</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Olive;">}</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Blue;">Person</span><span style="color: Gray;">.</span><span style="color: Blue;">prototype</span><span style="color: Gray;">.</span><span style="color: Blue;">getName</span><span style="color: Gray;"> = </span><span style="color: Green;">function</span><span style="color: Olive;">()</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">this</span><span style="color: Gray;">.</span><span style="color: Blue;">name</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Olive;">}</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">p</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">Person</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">ZhangSan</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Blue;">console</span><span style="color: Gray;">.</span><span style="color: Blue;">log</span><span style="color: Olive;">(</span><span style="color: Blue;">p</span><span style="color: Gray;">.</span><span style="color: Blue;">constructor</span><span style="color: Gray;"> === </span><span style="color: Blue;">Person</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; </span><span style="color: #ffa500;">// true&nbsp; </span></li>
<li><span style="color: Blue;">console</span><span style="color: Gray;">.</span><span style="color: Blue;">log</span><span style="color: Olive;">(</span><span style="color: Blue;">Person</span><span style="color: Gray;">.</span><span style="color: Blue;">prototype</span><span style="color: Gray;">.</span><span style="color: Blue;">constructor</span><span style="color: Gray;"> === </span><span style="color: Blue;">Person</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span><span style="color: #ffa500;">// true&nbsp; </span></li>
<li><span style="color: #ffa500;">// 将上两行代码合并就得到如下结果&nbsp; </span></li>
<li><span style="color: Blue;">console</span><span style="color: Gray;">.</span><span style="color: Blue;">log</span><span style="color: Olive;">(</span><span style="color: Blue;">p</span><span style="color: Gray;">.</span><span style="color: Blue;">constructor</span><span style="color: Gray;">.</span><span style="color: Blue;">prototype</span><span style="color: Gray;">.</span><span style="color: Blue;">constructor</span><span style="color: Gray;"> === </span><span style="color: Blue;">Person</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span><span style="color: #ffa500;">// true</span></li></ol></div>
<p>当时当我们重新定义函数的prototype时（注意：和上例的区别，这里不是修改而是覆盖），constructor属性的行为就有点奇怪了，如下示例：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">Person</span><span style="color: Olive;">(</span><span style="color: Blue;">name</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">this</span><span style="color: Gray;">.</span><span style="color: Blue;">name</span><span style="color: Gray;"> = </span><span style="color: Blue;">name</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Olive;">}</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Blue;">Person</span><span style="color: Gray;">.</span><span style="color: Blue;">prototype</span><span style="color: Gray;"> = </span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Blue;">getName</span><span style="color: Gray;">: </span><span style="color: Green;">function</span><span style="color: Olive;">()</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">this</span><span style="color: Gray;">.</span><span style="color: Blue;">name</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Olive;">}</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">p</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">Person</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">ZhangSan</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Blue;">console</span><span style="color: Gray;">.</span><span style="color: Blue;">log</span><span style="color: Olive;">(</span><span style="color: Blue;">p</span><span style="color: Gray;">.</span><span style="color: Blue;">constructor</span><span style="color: Gray;"> === </span><span style="color: Blue;">Person</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; </span><span style="color: #ffa500;">// false&nbsp; </span></li>
<li><span style="color: Blue;">console</span><span style="color: Gray;">.</span><span style="color: Blue;">log</span><span style="color: Olive;">(</span><span style="color: Blue;">Person</span><span style="color: Gray;">.</span><span style="color: Blue;">prototype</span><span style="color: Gray;">.</span><span style="color: Blue;">constructor</span><span style="color: Gray;"> === </span><span style="color: Blue;">Person</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span><span style="color: #ffa500;">// false&nbsp; </span></li>
<li><span style="color: Blue;">console</span><span style="color: Gray;">.</span><span style="color: Blue;">log</span><span style="color: Olive;">(</span><span style="color: Blue;">p</span><span style="color: Gray;">.</span><span style="color: Blue;">constructor</span><span style="color: Gray;">.</span><span style="color: Blue;">prototype</span><span style="color: Gray;">.</span><span style="color: Blue;">constructor</span><span style="color: Gray;"> === </span><span style="color: Blue;">Person</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span><span style="color: #ffa500;">// false</span></li></ol></div>
<p>为什么呢？</p>
<p>原来是因为覆盖Person.prototype时，等价于进行如下代码操作：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">Person</span><span style="color: Gray;">.</span><span style="color: Blue;">prototype</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">Object</span><span style="color: Olive;">({</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Blue;">getName</span><span style="color: Gray;">: </span><span style="color: Green;">function</span><span style="color: Olive;">()</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">this</span><span style="color: Gray;">.</span><span style="color: Blue;">name</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<p>而constructor属性始终指向创建自身的构造函数，所以此时Person.prototype.constructor === Object，即是：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">Person</span><span style="color: Olive;">(</span><span style="color: Blue;">name</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">this</span><span style="color: Gray;">.</span><span style="color: Blue;">name</span><span style="color: Gray;"> = </span><span style="color: Blue;">name</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Olive;">}</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Blue;">Person</span><span style="color: Gray;">.</span><span style="color: Blue;">prototype</span><span style="color: Gray;"> = </span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Blue;">getName</span><span style="color: Gray;">: </span><span style="color: Green;">function</span><span style="color: Olive;">()</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">this</span><span style="color: Gray;">.</span><span style="color: Blue;">name</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Olive;">}</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">p</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">Person</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">ZhangSan</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Blue;">console</span><span style="color: Gray;">.</span><span style="color: Blue;">log</span><span style="color: Olive;">(</span><span style="color: Blue;">p</span><span style="color: Gray;">.</span><span style="color: Blue;">constructor</span><span style="color: Gray;"> === </span><span style="color: Blue;">Object</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; </span><span style="color: #ffa500;">// true&nbsp; </span></li>
<li><span style="color: Blue;">console</span><span style="color: Gray;">.</span><span style="color: Blue;">log</span><span style="color: Olive;">(</span><span style="color: Blue;">Person</span><span style="color: Gray;">.</span><span style="color: Blue;">prototype</span><span style="color: Gray;">.</span><span style="color: Blue;">constructor</span><span style="color: Gray;"> === </span><span style="color: Blue;">Object</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span><span style="color: #ffa500;">// true&nbsp; </span></li>
<li><span style="color: Blue;">console</span><span style="color: Gray;">.</span><span style="color: Blue;">log</span><span style="color: Olive;">(</span><span style="color: Blue;">p</span><span style="color: Gray;">.</span><span style="color: Blue;">constructor</span><span style="color: Gray;">.</span><span style="color: Blue;">prototype</span><span style="color: Gray;">.</span><span style="color: Blue;">constructor</span><span style="color: Gray;"> === </span><span style="color: Blue;">Object</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span><span style="color: #ffa500;">// true</span></li></ol></div>
<p>怎么修正这种问题呢？方法也很简单，重新覆盖Person.prototype.constructor即可：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">Person</span><span style="color: Olive;">(</span><span style="color: Blue;">name</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">this</span><span style="color: Gray;">.</span><span style="color: Blue;">name</span><span style="color: Gray;"> = </span><span style="color: Blue;">name</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Olive;">}</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Blue;">Person</span><span style="color: Gray;">.</span><span style="color: Blue;">prototype</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">Object</span><span style="color: Olive;">({</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Blue;">getName</span><span style="color: Gray;">: </span><span style="color: Green;">function</span><span style="color: Olive;">()</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">this</span><span style="color: Gray;">.</span><span style="color: Blue;">name</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Olive;">})</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Blue;">Person</span><span style="color: Gray;">.</span><span style="color: Blue;">prototype</span><span style="color: Gray;">.</span><span style="color: Blue;">constructor</span><span style="color: Gray;"> = </span><span style="color: Blue;">Person</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">p</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">Person</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">ZhangSan</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Blue;">console</span><span style="color: Gray;">.</span><span style="color: Blue;">log</span><span style="color: Olive;">(</span><span style="color: Blue;">p</span><span style="color: Gray;">.</span><span style="color: Blue;">constructor</span><span style="color: Gray;"> === </span><span style="color: Blue;">Person</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; </span><span style="color: #ffa500;">// true&nbsp; </span></li>
<li><span style="color: Blue;">console</span><span style="color: Gray;">.</span><span style="color: Blue;">log</span><span style="color: Olive;">(</span><span style="color: Blue;">Person</span><span style="color: Gray;">.</span><span style="color: Blue;">prototype</span><span style="color: Gray;">.</span><span style="color: Blue;">constructor</span><span style="color: Gray;"> === </span><span style="color: Blue;">Person</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span><span style="color: #ffa500;">// true&nbsp; </span></li>
<li><span style="color: Blue;">console</span><span style="color: Gray;">.</span><span style="color: Blue;">log</span><span style="color: Olive;">(</span><span style="color: Blue;">p</span><span style="color: Gray;">.</span><span style="color: Blue;">constructor</span><span style="color: Gray;">.</span><span style="color: Blue;">prototype</span><span style="color: Gray;">.</span><span style="color: Blue;">constructor</span><span style="color: Gray;"> === </span><span style="color: Blue;">Person</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span><span style="color: #ffa500;">// true</span></li></ol></div>
]]></content:encoded>
			<wfw:commentRss>http://www.ue360.net/2010/03/constructor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScript的事件代理</title>
		<link>http://www.ue360.net/2010/03/event_delegation/</link>
		<comments>http://www.ue360.net/2010/03/event_delegation/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 02:15:20 +0000</pubDate>
		<dc:creator>Kelvin</dc:creator>
				<category><![CDATA[Php/MySql/Js]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.ue360.net/?p=223</guid>
		<description><![CDATA[如果你想进一步了解如何用JavaScript来为网页添加交互性的话，你也许已经听过JavaScript的事件代理（event delegation）了，并且会觉得只有那些牛逼烘烘的JavaScript程序员才会关心这样复杂的设计模式。事实上，如果你已经知道怎么样去添加JavaScript的事件处理器（event handler），实现事件代理也是件轻而易举的事情。

JavaScript事件是所有网页交互性的根基（我指的是真正的互动性，而不仅是那些CSS的下拉菜单）。在传统的事件处理中，你按照需要为每一个元素添加或者是删除事件处理器。然而，事件处理器将有可能导致内存泄露或者是性能下降——你用得越多这种风险就越大。JavaScript事件代理则是一种简单的技巧，通过它你可以把事件处理器添加到一个父级元素上，这样就避免了把事件处理器添加到多个子级元素上。

<span class="readmore"><a href="http://www.ue360.net/2010/03/event_delegation/" title="JavaScript的事件代理">阅读全文——共2248字</a></span>]]></description>
			<content:encoded><![CDATA[<p>如果你想进一步了解如何用JavaScript来为网页添加交互性的话，你也许已经听过JavaScript的事件代理（event delegation）了，并且会觉得只有那些牛逼烘烘的JavaScript程序员才会关心这样复杂的设计模式。事实上，如果你已经知道怎么样去添加JavaScript的事件处理器（event handler），实现事件代理也是件轻而易举的事情。</p>
<p>JavaScript事件是所有网页交互性的根基（我指的是真正的互动性，而不仅是那些CSS的下拉菜单）。在传统的事件处理中，你按照需要为每一个元素添加或者是删除事件处理器。然而，事件处理器将有可能导致内存泄露或者是性能下降——你用得越多这种风险就越大。JavaScript事件代理则是一种简单的技巧，通过它你可以把事件处理器添加到一个父级元素上，这样就避免了把事件处理器添加到多个子级元素上。</p>
<p><strong>它是怎么运作的呢？</strong></p>
<p>事件代理用到了两个在JavaSciprt事件中常被忽略的特性：事件冒泡(Event Bubbling)以及目标元素。当一个元素上的事件被触发的时候，比如说鼠标点击了一个按钮，同样的事件将会在那个元素的所有祖先元素中被触发。这一过程被称为事件冒泡；这个事件从原始元素开始一直冒泡到DOM树的最上层。对任何一个事件来说，其目标元素都是原始元素，在我们的这个例子中也就是按钮。目标元素它在我们的事件对象中以属性的形式出现。使用事件代理的话我们可以把事件处理器添加到一个元素上，等待事件从它的子级元素里冒泡上来，并且可以很方便地判断出这个事件是从哪个元素开始的。</p>
<p><strong>这对我有什么好处呢？</strong></p>
<p>想象一下现在我们有一个10列、100行的HTML表格，你希望在用户点击某一单元格的时候做点什么。比如说有一次我就需要让表格中的每一个单元格在被点击的时候变成可编辑状态。如果把事件处理器加到这1000个单元格将会产生一个很大的性能问题，并且有可能导致内存泄露甚至是浏览器的崩溃。相反地，使用事件代理的话，你只需要把一个事件处理器添加到table元素上就可以了，这个函数可以把点击事件给截下来，并且判断出是哪个单元格被点击了。</p>
<p><strong>用代码写出来的话是什么样呢？</strong></p>
<p>代码很简单，我们所要关心的只是如何检测目标元素而已。比方说我们有一个table元素，ID是“report”，我们为这个表格添加一个事件处理器以调用editCell函数。editCell函数需要判断出传到table来的事件的目标元素。考虑到我们要写的函数中可能会重复用到这一功能，所以我们把它单独放到一个名为getEventTarget的函数中：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">getEventTarget</span><span style="color: Olive;">(</span><span style="color: Blue;">e</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Blue;">e</span><span style="color: Gray;"> = </span><span style="color: Blue;">e</span><span style="color: Gray;"> || </span><span style="color: Teal;">window</span><span style="color: Gray;">.</span><span style="color: Blue;">event</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">e</span><span style="color: Gray;">.</span><span style="color: Blue;">target</span><span style="color: Gray;"> || </span><span style="color: Blue;">e</span><span style="color: Gray;">.</span><span style="color: Blue;">srcElement</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li></ol></div>
<p>e这个变量表示的是一个事件对象，我们只需要写一点点跨浏览器的代码来返回目标元素。在IE里目标元素放在srcElement属性中，而在其它浏览器里则是target属性。</p>
<p>接下来就是editCell函数了，这个函数调用到了getEventTarget函数。一旦我们得到了目标元素之后，剩下的事情就是看看它是否是我们所需要的那个元素了。</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">editCell</span><span style="color: Olive;">(</span><span style="color: Blue;">e</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">target</span><span style="color: Gray;"> = </span><span style="color: Blue;">getEventTarget</span><span style="color: Olive;">(</span><span style="color: Blue;">e</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Blue;">target</span><span style="color: Gray;">.</span><span style="color: Blue;">tagName</span><span style="color: Gray;">.</span><span style="color: Blue;">toLowerCase</span><span style="color: Olive;">()</span><span style="color: Gray;"> === </span><span style="color: #8b0000;">'</span><span style="color: Red;">td</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #ffa500;">// DO SOMETHING WITH THE CELL</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Olive;">}</span></li></ol></div>
<p>在editCell函数中，我们通过检查目标元素标签名称的方法来确定它是否是一个表格的单元格。这种检查也许过于简单了点；如果它是这个目标元素单元格里的另一个元素呢？我们需要为代码做一点快速修改以便于其找出我们所需要的那个父级的td元素。如果说有些单元格不需要被编辑怎么办呢？此种情况下我们可以为那些不可编辑的单元格添加一个指定的样式名称，然后在把单元格变成可编辑状态之前先检查它是否不包含那个样式名称。选择总是多样化的，你只需找到适合你应用程序的那一种就可以了。</p>
<p><strong>有哪些优点和缺点呢？</strong></p>
<p>JavaScript事件代理带来的好处有：</p>
<p><strong>那些需要创建的以及驻留在内存中的事件处理器少了。</strong>这是很重要的一点，我们得到了性能上的提升，同时降低了崩溃的风险。 </p>
<p>在DOM更新后无须重新绑定事件处理器了。如果你的页面是动态生成的，比如说通过Ajax，你不需要再在元素被载入或者卸载的时候来添加或者删除事件处理器了。 </p>
<p>潜在的问题也许并不那么明显，但是一旦你注意到这些问题，你就可以轻松地避免它们：</p>
<ul>
<li>你的事件管理代码有成为性能瓶颈的风险，所以尽量使它能够短小精悍。 </li>
<li>不是所有的事件都能冒泡的。blur、focus、load和unload不能像其它事件一样冒泡。事实上blur和focus可以用事件捕获(Event Capturing)而非事件冒泡的方法获得（在非IE的浏览器中），不过我们改天再说这个吧。 </li>
<li>在管理鼠标事件的时候有些需要注意的地方。如果你的代码处理mousemove事件的话你遇上性能瓶颈的风险可就大了，因为mousemove事件触发得非常频繁。而mouseout则因为其怪异的表现而变得很难用事件代理来管理。 </li>
</ul>
<p><strong>总结</strong></p>
<p>已经有一些使用主流类库的事件代理示例出现了，比如说用jQuery、Prototype以及Yahoo! UI的。你也可以找到那些不用任何类库的例子，比如说Usable Type blog上的这一个。</p>
<p>在你需要的时候，事件代理将成为你工具箱里一件得心应手的工具，而且它真的很容易实现。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ue360.net/2010/03/event_delegation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>关于JS中Object和Function的关系</title>
		<link>http://www.ue360.net/2009/08/object-function/</link>
		<comments>http://www.ue360.net/2009/08/object-function/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 05:22:55 +0000</pubDate>
		<dc:creator>Kelvin</dc:creator>
				<category><![CDATA[Php/MySql/Js]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.ue360.net/?p=198</guid>
		<description><![CDATA[js 中 Object 和 Function 的关系是微妙的，他们互为对方的一个“实例”。

Function instanceof Object 和 Object instanceof Function 都是 true

1。我们可以认为 Object 是一个特殊的“类”，而这里的“类”即：Function

<span class="readmore"><a href="http://www.ue360.net/2009/08/object-function/" title="关于JS中Object和Function的关系">阅读全文——共757字</a></span>]]></description>
			<content:encoded><![CDATA[<p>js 中 <strong>Object</strong> 和 <strong>Function</strong> 的关系是微妙的，他们互为对方的一个“实例”。</p>
<p><strong>Function</strong> instanceof <strong>Object</strong> 和 <strong>Object</strong> instanceof <strong>Function</strong> 都是 true</p>
<p>1。我们可以认为 <strong>Object</strong> 是一个特殊的“类”，而这里的“类”即：<strong>Function</strong></p>
<p>于是便可以理解为： <strong>Object</strong> = <strong>Function</strong> () {} 或 <strong>Object</strong> = new <strong>Function</strong>(); 即：<strong>Object</strong> 是 <strong>Function</strong> 的一个实例，所以，<strong>Object</strong> 原型链中便包含 <strong>Function</strong>.prototype，得出： <strong>Function</strong>.prototype.isPrototypeOf(<strong>Object</strong>)   为 true</p>
<p>2。同时，js中，所有对象（不包括js语言外部对象）都可视为是 <strong>Object</strong> 的一个实例， <strong>Function</strong> 不例外，<strong>Function</strong>.prototype 亦不例外，于是有 <strong>Function</strong> = new <strong>Object</strong>();  <strong>Function</strong>.prototype = new <strong>Object</strong>(), 于是 <strong>Object</strong>.prototype.isPrototypeOf(<strong>Function</strong>) 和 <strong>Object</strong>.prototype.isPrototypeOf(<strong>Function</strong>.prototype) 都为 true 了</p>
<p>3。补充：<strong>Function</strong> 本身也是一个“类”，然而，所有“类”都是Funciton的实例，于是 <strong>Function</strong> instanceof <strong>Function</strong>; 为true。同时，所有对象都是 <strong>Object</strong> 类的实例，<strong>Object</strong> 本身也是一个对象，所有又有 <strong>Object</strong> instanceof <strong>Object</strong> 也为 true。另外，还可以认为 Funciton 类型是 <strong>Object</strong> 类型的一个“派生类”，class <strong>Function</strong> 继承了class <strong>Object</strong> ，是 class <strong>Object</strong> 的一个“子类”。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ue360.net/2009/08/object-function/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>两个好东西:javaScript排版工具, javaScript语句验证工具</title>
		<link>http://www.ue360.net/2009/01/js/</link>
		<comments>http://www.ue360.net/2009/01/js/#comments</comments>
		<pubDate>Mon, 19 Jan 2009 04:34:20 +0000</pubDate>
		<dc:creator>Kelvin</dc:creator>
				<category><![CDATA[Php/MySql/Js]]></category>
		<category><![CDATA[Css]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[排版工具]]></category>
		<category><![CDATA[验证]]></category>

		<guid isPermaLink="false">http://www.ue360.net/?p=143</guid>
		<description><![CDATA[1. 这个网站只要把Javascript的代码粘贴进去，就会自动帮你排版对齐。

http://jsbeautifier.org/

2. 验证JS代码

<span class="readmore"><a href="http://www.ue360.net/2009/01/js/" title="两个好东西:javaScript排版工具, javaScript语句验证工具">阅读全文——共108字</a></span>]]></description>
			<content:encoded><![CDATA[<p>1. 这个网站只要把Javascript的代码粘贴进去，就会自动帮你排版对齐。</p>
<p><a href="http://jsbeautifier.org/" title="自动排版" target="_blank">http://jsbeautifier.org/</a></p>
<p>2. 验证JS代码</p>
<p><a href="http://jslint.com/" title="验证JS代码" target="_blank">http://jslint.com/</a></p>
<p>3. Css排版工具</p>
<p><a href="http://csswow.gox.cc/" title="CSS格式化与优化工具" target="_blank">CSS格式化与优化工具</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ue360.net/2009/01/js/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse+PDT+Debugger开发php环境配置</title>
		<link>http://www.ue360.net/2008/10/eclipse/</link>
		<comments>http://www.ue360.net/2008/10/eclipse/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 13:38:55 +0000</pubDate>
		<dc:creator>Kelvin</dc:creator>
				<category><![CDATA[Php/MySql/Js]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Extjs]]></category>
		<category><![CDATA[Pdt]]></category>

		<guid isPermaLink="false">http://www.ue360.net/?p=103</guid>
		<description><![CDATA[一、php环境配置：



apache_2.2.10-win32-x86-no_ssl.msi

<span class="readmore"><a href="http://www.ue360.net/2008/10/eclipse/" title="Eclipse+PDT+Debugger开发php环境配置">阅读全文——共6408字</a></span>]]></description>
			<content:encoded><![CDATA[<p><strong>一、php环境配置：</strong></p>
<ol>
<li><a href="http://apache.mirror.phpchina.com/httpd/binaries/win32/" target="_blank">apache_2.2.10-win32-x86-no_ssl.msi</a></li>
<li><a href="http://www.php.net/downloads.php" target="_blank">php-5.2.6-Win32.zip</a></li>
<li><a href="http://dev.mysql.com/downloads/mysql/5.0.html" target="_blank">mysql-5.0.67-win32.zip</a></li>
<li><a href="http://www.php.net/downloads.php" target="_blank">pecl-5.2.6-Win32.zip</a></li>
<li><a href="http://www.phpmyadmin.net/home_page/downloads.php" target="_blank">phpMyAdmin 3.0.1</a></li>
<li><a href="http://www.zend.com/en/products/guard/downloads" target="_blank">ZendOptimizer-3.3.3-Windows-i386.exe</a></li>
</ol>
<p><strong>二、配置说明(我把他们配置在D:\wamp目录下)：</strong></p>
<p>等待添加&#8230;</p>
<p><span id="more-103"></span></p>
<p><strong>三、Eclipse+PDT开发php环境：</strong></p>
<ol>
<li><a href="http://java.sun.com/javase/downloads/index.jsp" target="_blank">Java SE Runtime Environment (JRE) 6 Update 10</a> [JRE]</li>
<li><a href="http://www.eclipse.org/downloads/" target="_blank">Eclipse IDE for Java EE Developers</a> [目前最新Eclipse3.4.1]。</li>
<li><a href="http://download.eclipse.org/technology/dltk/downloads/" target="_blank">DLTK Core Frameworks 1.0 Integration build</a> [注意：DLTK是所谓动态语言开发包，PDT依赖于它，不知为什么现在官方主页上的稳定版本从1.0版降到了0.95，而PDT必须在1.0上运行，所以请选择最新的Integration版本（在页面最下面），而不是Release或Stable版本。]</li>
<li><a href="http://www.eclipse.org/pdt/downloads/" target="_blank">Pdt2.0</a></li>
<li><a href="http://downloads.zend.com/pdt/server-debugger/" target="_balnk">Zend Debugger</a></li>
</ol>
<p><strong>四、配置如下：</strong></p>
<ol>
<li>安装Eclipse，就是解压缩到一个目录如：D:\Program Files\Eclipse。</li>
<li>安装DLTK，把下载到的文件解压缩到某目录下，如：D:\wamp\PDT\dltk-core-I-I200810280735-200810280735-incubatio，启动Eclipse->Help->Software Updates->Available Software -> Add Site -> Local -> 选择刚才的解压缩目录，安装之。</li>
<li>安装PDT同上，把下载到的文件解压缩到某目录下，如：D:\wamp\PDT\pdt-SDK-I200809241021，启动Eclipse->Help->Software Updates->Available Software -> Add Site -> Local -> 选择刚才的解压缩目录，安装之。</li>
<li>安装ZDebugger，把下载到的ZendDebugger-5.2.14-cygwin_nt-i386.zip解压缩，目录下有一个readme.txt，根据你安装的php版本，选择相应的文件。5.2.x有2个编译好的dll，其中5_2_x_nts_comp是“non-tread safe”的，因此我使用5_2_x_comp内的dll。
<ul>
<li>从5_2_x_comp目录下选择ZendDebugger.dll，copy到D:\wamp\php5\ext下面</li>
<li>在php.ini文件中添加：<br />zend_extension_ts=D:\wamp\php\ext\ZendDebugger.dll<br />zend_debugger.allow_hosts=localhost,127.0.0.1,192.168.1.102<br />zend_debugger.expose_remotely=always</li>
<li>将dummy.php放到网站根目录下如：copy到D:\wamp\Apache2.2\htdocs下面</li>
</ul>
</li>
<li>配置Apache：比如我在D:\wamp\Project下放置所有的Eclipse工程，那么修改D:\wamp\Apache2.2\conf\httpd.conf，在文件结尾添加：<br />
Alias /Workspace &#8220;D:\wamp\Project&#8221;<br />
&lt;Directory &#8220;D:\wamp\Project&#8221;&gt;<br />
Options Indexes MultiViews ExecCGI<br />
DirectoryIndex index.php<br />
AllowOverride None<br />
Order allow,deny<br />
Allow from all<br />
&lt;/Directory&gt;
</li>
<li>配置Eclipse：打开Eclipse->Window->Preferences->PHP
<p>PHP Executables->Add，如下所示设置：</p>
<p><img src="http://farm4.static.flickr.com/3149/2981664424_8e05c5dfea.jpg?v=0" alt="" /></p>
<p>PHP Servers->New，如下所示设置：</p>
<p><img src="http://farm4.static.flickr.com/3212/2980808285_c87b0c4948.jpg?v=0" alt="" /></p>
<p>注意URL栏中添加了Workspace,这个是在httpd.conf中添加的目录别名。</p>
<p>PHP Debug，如下图所示，选择合适的Debugger，Server</p>
<p><img src="http://farm4.static.flickr.com/3245/2981664356_c4df49eb0e.jpg?v=0" alt="" /></p>
<p>至此，配置完成。记得再次重新启动Apache。</p>
</li>
</ol>
<p><strong>五、Spket Eclipse插件与IDE</strong></p>
<p>Spket提供了Eclipse插件和独立的IDE环境来支持ExtJs开发，下载地址：http://spket.com/download.html，在下载页面找到如下图所示的地方。</p>
<p><img src="http://farm4.static.flickr.com/3048/2981833450_466f24cd59.jpg?v=0" alt="" /></p>
<p><P>Plugin是将Spket直接配置为Eclipse插件进行使用，而Spket IDE可以安装为独立的开发环境进行使用，同样也可以在安装时将其作为Eclipse插件进行安装，这里我们选择配置的方式，点击Plugin链接下载得到spket-1.6.16.zip，将其解压在某个目录（如：D:\spket-1.6.16），然后启动Eclipse，和其他插件安装方法类似在Eclipse->Help->Software Updates->Available Software -> Add Site -> Local -> 选择刚才的解压缩目录，安装后会提示重启Eclipse，之后在Window → Preferences中可以找到Spket，如图所示。</p>
<p><img src="http://farm4.static.flickr.com/3164/2981833446_960dd88439.jpg?v=0" alt="" /></p>
<p>在Eclipse中配置Spket支持ExtJs代码提示功能的基本步骤如下：</p>
<ol>
<li>Window → Preferences → Spket → JavaScript Profiles → New；</li>
<li>输入“ExtJS”点击OK；</li>
<li>选择“ExtJS” 并点击“Add Library”然后在下拉条中选取“ExtJS”；</li>
<li>选择 “ExtJS”并点击“Add File”，然后在你的./ext-2.x/source目录中选取“ext.jsb” 文件；</li>
<li>在添加进来的文件按顺序一个个点下来，不要跳跃的点，因为跳跃的点，可能导致下面的类加载到上面，以后可能会出现问题，然后ok确定；</li>
<li>设置新的ExtJS Profile，选中并点击“JavaScript Profiles” 对话框右手边的“Defalut”按钮；</li>
<li>重启Eclipse；</li>
</ol>
<p>配置成功如图所示。</p>
<p><img src="http://farm4.static.flickr.com/3222/2981835154_433f9f5de9.jpg?v=0" alt="" /></p>
<p>创建新的JS文件并输入： Ext这样就可设置Ext Code代码自动完成的功能，如图所示：</p>
<p><img src="http://farm4.static.flickr.com/3138/2981833448_2bbd07f11a.jpg?v=0" alt="" /></p>
<p>注：如果没有出现提示设置JS打开方式为 Window -> Preferences ->General-> Editors-> File&#8230;选择JS 为 Spket JavaScript Editor(default)</p>
<p><strong>六、解决Optimizer与Debugger兼容性问题：</strong></p>
<ol>
<li>如果已安装了Optimizer就会发现php出现错误。细心的朋友就会发现zend_extension_ts有两个值，造成冲突。当你只安装Optimizer或Debugger的时候zend_extension_ts是直接指向Optimizer或Debugger的dll的，现在这个指向ZendExtensionManager。ZendExtensionManager的原理是先找到zend_extension_manager.optimizer_ts指向的文件夹，再去找php-5.2.x文件夹，并读取该文件夹下的ZendOptimizer.dll，所以路径结构是C:\Program Files\zend\Optimizer-3.3.0\php-5.2.x\ZendOptimizer.dll，但在zend_extension_manager.optimizer_ts里填的是php-5.2.x的父目录，在安装zend debugger的时候注意: ZendDebugger-5.2.10 文件夹下也要用php-5.2.x 有的时候从网上下载的时候文件夹名称是php-5-2-x要把他改成php-5.2.x不然找不到文件。解决Optimizer与Debugger兼容性问题只要把解压后的5_2_x_comp\ZendDebugger.dll放在这样的路径下：C:\Program Files\Zend\ZendDebugger-5.2.14\php-5.2.x\ZendDebugger.dll：
<ul>
<li>zend_extension_manager.optimizer_ts=&#8221;C:\Program Files\Zend\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0&#8243;</li>
<li>zend_extension_ts=&#8221;C:\Program Files\Zend\ZendOptimizer-3.3.0\lib\ZendExtensionManager.dll&#8221;</li>
<li>zend_extension_manager.debug_server_ts=&#8221;C:\Program Files\Zend\ZendDebugger-5.2.14&#8243;</li>
<li>zend_debugger.allow_hosts=localhost,127.0.0.1,192.168.1.102</li>
<li>zend_debugger.expose_remotely=always</li>
</ul>
</li>
</ol>
<p><strong>七、使用管理器安装subversive(原文)</strong></p>
<p>Like many other developers I was keen to try out the recent Eclipse Ganymede release. In particular I wanted to try the new subversion integration (”subversive”) to see if it is any better than the old (”subclipse”) plugin I used to use with Europa.</p>
<p>Getting the new subversion working was surprisingly tricky. Obvious choices simply do not work, and the error messages do not give quite enough information to solve the problem. Add to this that some of the names of locations and updates can easily be misconstrued and you have a recipe for confusion. </p>
<p>For example, the error message presented if you try to use the subversive plugin without installing any third-party connectors is the only-partially-helpful:</p>
<blockquote><p>SVN: ‘0×00400006: Validate Repository Location’ operation finished with error: Selected SVN connector library is not available or cannot be loaded.</p>
<p>If you selected native JavaHL connector, please check if binaries are available or install and select pure Java Subversion connector from the plug-in connectors update site.</p>
<p>If connectors already installed then you can change the selected one at:Window->Preferences->Team->SVN->SVN Client.</p>
<p>Selected SVN connector library is not available or cannot be loaded.</p>
<p>If you selected native JavaHL connector, please check if binaries are available or install and select pure Java Subversion connector from the plug-in connectors update site.</p>
<p>If connectors already installed then you can change the selected one at:Window->Preferences->Team->SVN->SVN Client.</p>
<p>I think the Eclipse folks have potentially missed something important here &#8211; checking out a project or three from subversion is almost always the way I start when I want to evaluate an IDE.</p>
</blockquote>
<p>Anyway, here are a set of steps which should result in a working Eclipse Ganymede with the new subversion:</p>
<p>Get the basic subversion integration plugin from the eclipse download site</p>
<ol>
<li>Select Help::Software Updates from the menu bar</li>
<li>Unfold Ganymede::Collaboration Tools</li>
<li>Select SVN Team Provider (Incubation)</li>
<li>Click install… and follow the instructions, including a restart of Eclipse</li>
<li>Resist the temptation to try and use the plugin at this point. It won’t work and you will get the above confusing message about connectors.</li>
</ol>
<p>Get the third party SVN connectors from a different update site</p>
<ol>
<li>Select Help::Software Updates from the menu bar</li>
<li>Click Add Site…</li>
<li>Enter http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/ and Click OK</li>
<li>Unfold the new site :: Subversive SVN Connectors</li>
<li>Select appropriate connectors. In my case I selected Subversive SVN Connectors, SVNKit 1.1.7, and SVNKit 1.2.0</li>
<li>Click install… and follow the instructions, including a restart of Eclipse</li>
</ol>
<p>You should now be able to either Window::Show View::Other…::SVN Repositories or Window::Open Perspective::Other…::SVN Repository Exploring and add repositories to your hearts’s content.</p>
<p><strong>附：Spket Dreamweaver插件</strong></p>
<p>对于Dreamweaver有两种可用的插件<a href="http://www.spket.com/dreamweaver-extension.html" target="_blank">SpketDW</a>(Dreamweaver 2004或新版)和<a href="http://www.spket.com/dreamweaver-extension.html" target="_blank">SpketDWCS</a>(Dreamweaver CS3)。可以在http://www.spket.com/dreamweaver-extension.html下载得到。最新版本为SpketDWCS Ext 2.1，下载后的文件为spketdwcs-ext-2.1.mxp(需要安装Adobe Extension Manager)，直接双击即可完成安装，启动Dreamweaver，在编辑ExtJs时就会有代码提示功能了。</p>
<p><img src="http://farm4.static.flickr.com/3274/2981833444_915124d597.jpg?v=0" alt="" /></p>
<p><img src="http://farm4.static.flickr.com/3148/2981833434_bf39bd89b4.jpg?v=0" alt="" /></p>
<p><img src="http://farm4.static.flickr.com/3222/2981833440_83f0a8a84d.jpg?v=0" alt="" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ue360.net/2008/10/eclipse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>数据库导出类</title>
		<link>http://www.ue360.net/2008/10/extjs-01/</link>
		<comments>http://www.ue360.net/2008/10/extjs-01/#comments</comments>
		<pubDate>Fri, 24 Oct 2008 00:54:23 +0000</pubDate>
		<dc:creator>Kelvin</dc:creator>
				<category><![CDATA[Php/MySql/Js]]></category>
		<category><![CDATA[Extjs]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.ue360.net/?p=92</guid>
		<description><![CDATA[本类实现：



数据库信息导出：word，excel，json，xml，sql

<span class="readmore"><a href="http://www.ue360.net/2008/10/extjs-01/" title="数据库导出类">阅读全文——共3592字</a></span>]]></description>
			<content:encoded><![CDATA[<p><strong>本类实现：</strong></p>
<ul>
<li>数据库信息导出：word，excel，json，xml，sql</li>
<li>数据库恢复：从sql，从文件</li>
</ul>
<p><strong>具体用法:</strong></p>
<p>首先新建测试用数据库mytest，然后在里面建张表</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: #ffa500;">-- </span></li>
<li><span style="color: #ffa500;">-- 表的结构 `test`</span></li>
<li><span style="color: #ffa500;">-- </span></li>
<li><span style="color: Green;">CREATE</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">TABLE</span><span style="color: Gray;"> </span><span style="color: #8b0000;">`</span><span style="color: Blue;">test</span><span style="color: #8b0000;">`</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: #8b0000;">`</span><span style="color: Blue;">id</span><span style="color: #8b0000;">`</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">int</span><span style="color: Olive;">(</span><span style="color: Maroon;">11</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Green;">NOT</span><span style="color: Gray;"> </span><span style="color: Green;">NULL</span><span style="color: Gray;"> </span><span style="color: Green;">auto_increment</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: #8b0000;">`</span><span style="color: Blue;">name</span><span style="color: #8b0000;">`</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">varchar</span><span style="color: Olive;">(</span><span style="color: Maroon;">100</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Green;">NOT</span><span style="color: Gray;"> </span><span style="color: Green;">NULL</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: #8b0000;">`</span><span style="color: Blue;">email</span><span style="color: #8b0000;">`</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">varchar</span><span style="color: Olive;">(</span><span style="color: Maroon;">200</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Green;">NOT</span><span style="color: Gray;"> </span><span style="color: Green;">NULL</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: #8b0000;">`</span><span style="color: Blue;">age</span><span style="color: #8b0000;">`</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">int</span><span style="color: Olive;">(</span><span style="color: Maroon;">3</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Green;">NOT</span><span style="color: Gray;"> </span><span style="color: Green;">NULL</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Green;">PRIMARY</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">KEY</span><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">(</span><span style="color: #8b0000;">`</span><span style="color: Blue;">id</span><span style="color: #8b0000;">`</span><span style="color: Olive;">)</span></li>
<li><span style="color: Olive;">)</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">ENGINE</span><span style="color: Gray;">=</span><span style="color: Green;">MyISAM</span><span style="color: Gray;">&nbsp; </span><span style="color: Green;">DEFAULT</span><span style="color: Gray;"> </span><span style="color: Blue;">CHARSET</span><span style="color: Gray;">=</span><span style="color: Blue;">utf8</span><span style="color: Gray;"> </span><span style="color: Green;">AUTO_INCREMENT</span><span style="color: Gray;">=</span><span style="color: Maroon;">3</span><span style="color: Gray;"> ;</span></li>
<li><span style="color: #ffa500;">-- </span></li>
<li><span style="color: #ffa500;">-- 导出表中的数据 `test`</span></li>
<li><span style="color: #ffa500;">-- </span></li>
<li><span style="color: Green;">INSERT</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">INTO</span><span style="color: Gray;"> </span><span style="color: #8b0000;">`</span><span style="color: Blue;">test</span><span style="color: #8b0000;">`</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: #8b0000;">`</span><span style="color: Blue;">id</span><span style="color: #8b0000;">`</span><span style="color: Gray;">, </span><span style="color: #8b0000;">`</span><span style="color: Blue;">name</span><span style="color: #8b0000;">`</span><span style="color: Gray;">, </span><span style="color: #8b0000;">`</span><span style="color: Blue;">email</span><span style="color: #8b0000;">`</span><span style="color: Gray;">, </span><span style="color: #8b0000;">`</span><span style="color: Blue;">age</span><span style="color: #8b0000;">`</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Blue;">VALUES</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Olive;">(</span><span style="color: Maroon;">1</span><span style="color: Gray;">, </span><span style="color: #8b0000;">'</span><span style="color: Red;">pjq518</span><span style="color: #8b0000;">'</span><span style="color: Gray;">, </span><span style="color: #8b0000;">'</span><span style="color: Red;">pjq518@126.com</span><span style="color: #8b0000;">'</span><span style="color: Gray;">, </span><span style="color: Maroon;">22</span><span style="color: Olive;">)</span><span style="color: Gray;">,</span></li>
<li><span style="color: Olive;">(</span><span style="color: Maroon;">2</span><span style="color: Gray;">, </span><span style="color: #8b0000;">'</span><span style="color: Red;">xiaoyu</span><span style="color: #8b0000;">'</span><span style="color: Gray;">, </span><span style="color: #8b0000;">'</span><span style="color: Red;">xiaoyu@126.com</span><span style="color: #8b0000;">'</span><span style="color: Gray;">, </span><span style="color: Maroon;">21</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<p>1.导出ext能方便调用的json</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: #00008b;">$db</span><span style="color: Gray;">=</span><span style="color: Green;">new</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">db</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Green;">echo</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">$db</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">toExtJson</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">test</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: #ffa500;">//输出结果为</span></li>
<li><span style="color: #ffa500;">//{'totalCount':'2','rows':[{'id':'1','name':'pjq518','email':'</span><span style="color: Blue;">pjq518@126.com</span><span style="color: #ffa500;">','age':'22'},{'id':'2','name':'xiaoyu','email':'</span><span style="color: Blue;">xiaoyu@126.com</span><span style="color: #ffa500;">','age':'21'}]}</span></li>
</ol></div>
<p>toExtJson($table,$start=&#8221;0&#8243;,$limit=&#8221;10&#8243;,$cons=&#8221;")有4个参数，$table为表名，$cons为条件，可以为string或array</p>
<p>2.导出xml</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: #00008b;">$db</span><span style="color: Gray;">=</span><span style="color: Green;">new</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">db</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Green;">echo</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">$db</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">toExtXml</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">test</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
</ol></div>
<p>3.导出excel和word</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">&lt;?php</span></li>
<li><span style="color: #00008b;">$db</span><span style="color: Gray;">=</span><span style="color: Green;">new</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">db</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: #ffa500;">//toExcel</span></li>
<li><span style="color: #00008b;">$map</span><span style="color: Gray;">=</span><span style="color: Green;">array</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">No</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: #8b0000;">'</span><span style="color: Red;">Name</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: #8b0000;">'</span><span style="color: Red;">Email</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: #8b0000;">'</span><span style="color: Red;">Age</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span><span style="color: #ffa500;">//表头</span></li>
<li><span style="color: #00008b;">$db</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">toExcel</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">test</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: #00008b;">$map</span><span style="color: Gray;">,</span><span style="color: #8b0000;">'</span><span style="color: Red;">档案</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: #ffa500;">//导出word表格</span></li>
<li><span style="color: #ffa500;">//$db-&gt;toWord('test',$map,'档案');</span></li></ol></div>
<p><span id="more-92"></span></p>
<p><strong>数据库导出类</strong></p>
<div class="hl-title">&#19979;&#36733;: <a href="http://www.ue360.net/wp-content/plugins/coolcode/coolcode.php?p=92&amp;download=Db.class.php">Db.class.php</a></div><div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">&lt;?php</span></li>
<li><span style="color: Green;">class</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">Db</span></li>
<li><span style="color: Olive;">{</span></li>
<li><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">$conn</span><span style="color: Gray;">;</span></li>
<li><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">Db</span><span style="color: Olive;">(</span><span style="color: #00008b;">$host</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">localhost</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: #00008b;">$user</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">root</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: #00008b;">$pass</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;&quot;</span><span style="color: Gray;">,</span><span style="color: #00008b;">$db</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">mytest</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span></li>
<li><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Gray;">!</span><span style="color: #00008b;">$this</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">conn</span><span style="color: Gray;">=</span><span style="color: Blue;">mysql_connect</span><span style="color: Olive;">(</span><span style="color: #00008b;">$host</span><span style="color: Gray;">,</span><span style="color: #00008b;">$user</span><span style="color: Gray;">,</span><span style="color: #00008b;">$pass</span><span style="color: Olive;">))</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Green;">die</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">can't connect to mysql sever</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Blue;">mysql_select_db</span><span style="color: Olive;">(</span><span style="color: #00008b;">$db</span><span style="color: Gray;">,</span><span style="color: #00008b;">$this</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">conn</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Blue;">mysql_query</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">SET NAMES 'UTF-8'</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">execute</span><span style="color: Olive;">(</span><span style="color: #00008b;">$sql</span><span style="color: Olive;">)</span></li>
<li><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">mysql_query</span><span style="color: Olive;">(</span><span style="color: #00008b;">$sql</span><span style="color: Gray;">,</span><span style="color: #00008b;">$this</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">conn</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">findCount</span><span style="color: Olive;">(</span><span style="color: #00008b;">$sql</span><span style="color: Olive;">)</span></li>
<li><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$result</span><span style="color: Gray;">=</span><span style="color: #00008b;">$this</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">execute</span><span style="color: Olive;">(</span><span style="color: #00008b;">$sql</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">mysql_num_rows</span><span style="color: Olive;">(</span><span style="color: #00008b;">$result</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">findBySql</span><span style="color: Olive;">(</span><span style="color: #00008b;">$sql</span><span style="color: Olive;">)</span></li>
<li><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$array</span><span style="color: Gray;">=</span><span style="color: Green;">array</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$result</span><span style="color: Gray;">=</span><span style="color: Blue;">mysql_query</span><span style="color: Olive;">(</span><span style="color: #00008b;">$sql</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$i</span><span style="color: Gray;">=</span><span style="color: Maroon;">0</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">while</span><span style="color: Olive;">(</span><span style="color: #00008b;">$row</span><span style="color: Gray;">=</span><span style="color: Blue;">mysql_fetch_assoc</span><span style="color: Olive;">(</span><span style="color: #00008b;">$result</span><span style="color: Olive;">))</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; </span><span style="color: #00008b;">$array</span><span style="color: Olive;">[</span><span style="color: #00008b;">$i</span><span style="color: Olive;">]</span><span style="color: Gray;">=</span><span style="color: #00008b;">$row</span><span style="color: Gray;">; </span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: #00008b;">$i</span><span style="color: Gray;">++;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">$array</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: #ffa500;">//$con的几种情况</span></li>
<li><span style="color: #ffa500;">//空：返回全部记录</span></li>
<li><span style="color: #ffa500;">//array：eg. array('id'=&gt;'1') 返回id=1的记录</span></li>
<li><span style="color: #ffa500;">//string :eg. 'id=1' 返回id=1的记录</span></li>
<li><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">toExtJson</span><span style="color: Olive;">(</span><span style="color: #00008b;">$table</span><span style="color: Gray;">,</span><span style="color: #00008b;">$start</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">0</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: #00008b;">$limit</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">10</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: #00008b;">$cons</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;&quot;</span><span style="color: Olive;">)</span></li>
<li><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: #00008b;">$sql</span><span style="color: Gray;">=</span><span style="color: #00008b;">$this</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">generateSql</span><span style="color: Olive;">(</span><span style="color: #00008b;">$table</span><span style="color: Gray;">,</span><span style="color: #00008b;">$cons</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: #00008b;">$totalNum</span><span style="color: Gray;">=</span><span style="color: #00008b;">$this</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">findCount</span><span style="color: Olive;">(</span><span style="color: #00008b;">$sql</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: #00008b;">$result</span><span style="color: Gray;">=</span><span style="color: #00008b;">$this</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">findBySql</span><span style="color: Olive;">(</span><span style="color: #00008b;">$sql</span><span style="color: Gray;">.</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;"> LIMIT </span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">.</span><span style="color: #00008b;">$start</span><span style="color: Gray;">.</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;"> ,</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">.</span><span style="color: #00008b;">$limit</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: #00008b;">$resultNum</span><span style="color: Gray;"> = </span><span style="color: Blue;">count</span><span style="color: Olive;">(</span><span style="color: #00008b;">$result</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span><span style="color: #ffa500;">//当前结果数</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: #00008b;">$str</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: #00008b;">$str</span><span style="color: Gray;">.= </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">{</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: #00008b;">$str</span><span style="color: Gray;">.= </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">'totalCount':'</span><span style="color: #00008b;">$totalNum</span><span style="color: Red;">',</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: #00008b;">$str</span><span style="color: Gray;">.=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">'rows':</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: #00008b;">$str</span><span style="color: Gray;">.=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">[</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Green;">for</span><span style="color: Olive;">(</span><span style="color: #00008b;">$i</span><span style="color: Gray;">=</span><span style="color: Maroon;">0</span><span style="color: Gray;">;</span><span style="color: #00008b;">$i</span><span style="color: Gray;">&lt;</span><span style="color: #00008b;">$resultNum</span><span style="color: Gray;">;</span><span style="color: #00008b;">$i</span><span style="color: Gray;">++</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: #00008b;">$str</span><span style="color: Gray;">.=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">{</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">; </span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: #00008b;">$count</span><span style="color: Gray;">=</span><span style="color: Blue;">count</span><span style="color: Olive;">(</span><span style="color: #00008b;">$result</span><span style="color: Olive;">[</span><span style="color: #00008b;">$i</span><span style="color: Olive;">])</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: #00008b;">$j</span><span style="color: Gray;">=</span><span style="color: Maroon;">1</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Green;">foreach</span><span style="color: Olive;">(</span><span style="color: #00008b;">$result</span><span style="color: Olive;">[</span><span style="color: #00008b;">$i</span><span style="color: Olive;">]</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">as</span><span style="color: Gray;"> </span><span style="color: #00008b;">$key</span><span style="color: Gray;">=&gt;</span><span style="color: #00008b;">$val</span><span style="color: Olive;">)</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: #00008b;">$j</span><span style="color: Gray;">&lt;</span><span style="color: #00008b;">$count</span><span style="color: Olive;">)</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: #00008b;">$str</span><span style="color: Gray;">.=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">'</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">.</span><span style="color: #00008b;">$key</span><span style="color: Gray;">.</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">':'</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">.</span><span style="color: #00008b;">$val</span><span style="color: Gray;">.</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">',</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Green;">elseif</span><span style="color: Olive;">(</span><span style="color: #00008b;">$j</span><span style="color: Gray;">==</span><span style="color: #00008b;">$count</span><span style="color: Olive;">)</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: #00008b;">$str</span><span style="color: Gray;">.=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">'</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">.</span><span style="color: #00008b;">$key</span><span style="color: Gray;">.</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">':'</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">.</span><span style="color: #00008b;">$val</span><span style="color: Gray;">.</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">'</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: #00008b;">$j</span><span style="color: Gray;">++;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: #00008b;">$str</span><span style="color: Gray;">.=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">}</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: #00008b;">$i</span><span style="color: Gray;"> != </span><span style="color: #00008b;">$resultNum</span><span style="color: Gray;">-</span><span style="color: Maroon;">1</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: #00008b;">$str</span><span style="color: Gray;">.= </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">,</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: #00008b;">$str</span><span style="color: Gray;">.=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">]</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: #00008b;">$str</span><span style="color: Gray;">.=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">}</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">$str</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">generateSql</span><span style="color: Olive;">(</span><span style="color: #00008b;">$table</span><span style="color: Gray;">,</span><span style="color: #00008b;">$cons</span><span style="color: Olive;">)</span></li>
<li><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$sql</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;&quot;</span><span style="color: Gray;">;</span><span style="color: #ffa500;">//sql条件</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: #00008b;">$sql</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">select * from </span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">.</span><span style="color: #00008b;">$table</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: #00008b;">$cons</span><span style="color: Gray;">!=</span><span style="color: #8b0000;">&quot;&quot;</span><span style="color: Olive;">)</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Blue;">is_array</span><span style="color: Olive;">(</span><span style="color: #00008b;">$cons</span><span style="color: Olive;">))</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span><span style="color: #00008b;">$k</span><span style="color: Gray;">=</span><span style="color: Maroon;">0</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span><span style="color: Green;">foreach</span><span style="color: Olive;">(</span><span style="color: #00008b;">$cons</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">as</span><span style="color: Gray;"> </span><span style="color: #00008b;">$key</span><span style="color: Gray;">=&gt;</span><span style="color: #00008b;">$val</span><span style="color: Olive;">)</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: #00008b;">$k</span><span style="color: Gray;">==</span><span style="color: Maroon;">0</span><span style="color: Olive;">)</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: #00008b;">$sql</span><span style="color: Gray;">.=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">where '</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: #00008b;">$sql</span><span style="color: Gray;">.=</span><span style="color: #00008b;">$key</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: #00008b;">$sql</span><span style="color: Gray;">.=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">'='</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: #00008b;">$sql</span><span style="color: Gray;">.=</span><span style="color: #00008b;">$val</span><span style="color: Gray;">.</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">'</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">}</span><span style="color: Green;">else</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: #00008b;">$sql</span><span style="color: Gray;">.=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">and '</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: #00008b;">$sql</span><span style="color: Gray;">.=</span><span style="color: #00008b;">$key</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: #00008b;">$sql</span><span style="color: Gray;">.=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">'='</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: #00008b;">$sql</span><span style="color: Gray;">.=</span><span style="color: #00008b;">$val</span><span style="color: Gray;">.</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">'</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: #00008b;">$k</span><span style="color: Gray;">++;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Olive;">}</span><span style="color: Green;">else</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: #00008b;">$sql</span><span style="color: Gray;">.=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;"> where </span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">.</span><span style="color: #00008b;">$cons</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">$sql</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">toExtXml</span><span style="color: Olive;">(</span><span style="color: #00008b;">$table</span><span style="color: Gray;">,</span><span style="color: #00008b;">$start</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">0</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: #00008b;">$limit</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">10</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: #00008b;">$cons</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;&quot;</span><span style="color: Olive;">)</span></li>
<li><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: #00008b;">$sql</span><span style="color: Gray;">=</span><span style="color: #00008b;">$this</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">generateSql</span><span style="color: Olive;">(</span><span style="color: #00008b;">$table</span><span style="color: Gray;">,</span><span style="color: #00008b;">$cons</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: #00008b;">$totalNum</span><span style="color: Gray;">=</span><span style="color: #00008b;">$this</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">findCount</span><span style="color: Olive;">(</span><span style="color: #00008b;">$sql</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: #00008b;">$result</span><span style="color: Gray;">=</span><span style="color: #00008b;">$this</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">findBySql</span><span style="color: Olive;">(</span><span style="color: #00008b;">$sql</span><span style="color: Gray;">.</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;"> LIMIT </span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">.</span><span style="color: #00008b;">$start</span><span style="color: Gray;">.</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;"> ,</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">.</span><span style="color: #00008b;">$limit</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: #00008b;">$resultNum</span><span style="color: Gray;"> = </span><span style="color: Blue;">count</span><span style="color: Olive;">(</span><span style="color: #00008b;">$result</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span><span style="color: #ffa500;">//当前结果数</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">header</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Content-Type: text/xml</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: #00008b;">$xml</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">&lt;?xml version=</span><span style="color: Navy;">\&quot;</span><span style="color: Red;">1.0</span><span style="color: Navy;">\&quot;</span><span style="color: Red;">&nbsp; encoding=</span><span style="color: Navy;">\&quot;</span><span style="color: Red;">utf-8</span><span style="color: Navy;">\&quot;</span><span style="color: Red;"> ?&gt;</span><span style="color: Navy;">\n</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: #00008b;">$xml</span><span style="color: Gray;">.=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">&lt;xml&gt;</span><span style="color: Navy;">\n</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: #00008b;">$xml</span><span style="color: Gray;">.=</span><span style="color: #8b0000;">&quot;</span><span style="color: Navy;">\t</span><span style="color: Red;">&lt;totalCount&gt;</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">.</span><span style="color: #00008b;">$totalNum</span><span style="color: Gray;">.</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">&lt;/totalCount&gt;</span><span style="color: Navy;">\n</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: #00008b;">$xml</span><span style="color: Gray;">.=</span><span style="color: #8b0000;">&quot;</span><span style="color: Navy;">\t</span><span style="color: Red;">&lt;items&gt;</span><span style="color: Navy;">\n</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Green;">for</span><span style="color: Olive;">(</span><span style="color: #00008b;">$i</span><span style="color: Gray;">=</span><span style="color: Maroon;">0</span><span style="color: Gray;">;</span><span style="color: #00008b;">$i</span><span style="color: Gray;">&lt;</span><span style="color: #00008b;">$resultNum</span><span style="color: Gray;">;</span><span style="color: #00008b;">$i</span><span style="color: Gray;">++</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: #00008b;">$xml</span><span style="color: Gray;">.=</span><span style="color: #8b0000;">&quot;</span><span style="color: Navy;">\t\t</span><span style="color: Red;">&lt;item&gt;</span><span style="color: Navy;">\n</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Green;">foreach</span><span style="color: Olive;">(</span><span style="color: #00008b;">$result</span><span style="color: Olive;">[</span><span style="color: #00008b;">$i</span><span style="color: Olive;">]</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">as</span><span style="color: Gray;"> </span><span style="color: #00008b;">$key</span><span style="color: Gray;">=&gt;</span><span style="color: #00008b;">$val</span><span style="color: Olive;">)</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: #00008b;">$xml</span><span style="color: Gray;">.=</span><span style="color: #8b0000;">&quot;</span><span style="color: Navy;">\t\t\t</span><span style="color: Red;">&lt;</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">.</span><span style="color: #00008b;">$key</span><span style="color: Gray;">.</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">&gt;</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">.</span><span style="color: #00008b;">$val</span><span style="color: Gray;">.</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">&lt;/</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">.</span><span style="color: #00008b;">$key</span><span style="color: Gray;">.</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">&gt;</span><span style="color: Navy;">\n</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: #00008b;">$xml</span><span style="color: Gray;">.=</span><span style="color: #8b0000;">&quot;</span><span style="color: Navy;">\t\t</span><span style="color: Red;">&lt;/item&gt;</span><span style="color: Navy;">\n</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$xml</span><span style="color: Gray;">.=</span><span style="color: #8b0000;">&quot;</span><span style="color: Navy;">\t</span><span style="color: Red;">&lt;/items&gt;</span><span style="color: Navy;">\n</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$xml</span><span style="color: Gray;">.=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">&lt;/xml&gt;</span><span style="color: Navy;">\n</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">$xml</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: #ffa500;">//输出word表格</span></li>
<li><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">toWord</span><span style="color: Olive;">(</span><span style="color: #00008b;">$table</span><span style="color: Gray;">,</span><span style="color: #00008b;">$mapping</span><span style="color: Gray;">,</span><span style="color: #00008b;">$fileName</span><span style="color: Olive;">)</span></li>
<li><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Blue;">header</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">Content-type: application/doc</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">header</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">Content-Disposition: attachment; filename=&quot;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">.</span><span style="color: #00008b;">$fileName</span><span style="color: Gray;">.</span><span style="color: #8b0000;">'</span><span style="color: Red;">.doc&quot;</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; </span><span style="color: Green;">echo</span><span style="color: Gray;">&nbsp;</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;html xmlns:o=&quot;urn:schemas-microsoft-com:office:office&quot; </span></li>
<li><span style="color: Red;">&nbsp; &nbsp; &nbsp;&nbsp; xmlns:w=&quot;urn:schemas-microsoft-com:office:word&quot; </span></li>
<li><span style="color: Red;">&nbsp; &nbsp; &nbsp;&nbsp; xmlns=&quot;http://www.w3.org/TR/REC-html40&quot;&gt;</span></li>
<li><span style="color: Red;">&nbsp; &nbsp; &lt;head&gt;</span></li>
<li><span style="color: Red;">&nbsp; &nbsp; &nbsp;&nbsp; &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot; /&gt;</span></li>
<li><span style="color: Red;">&nbsp; &nbsp; &lt;title&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">.</span><span style="color: #00008b;">$fileName</span><span style="color: Gray;">.</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;/title&gt;</span></li>
<li><span style="color: Red;">&nbsp; &nbsp; &lt;/head&gt;</span></li>
<li><span style="color: Red;">&nbsp; &nbsp; &lt;body&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">echo</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;table border=1&gt;&lt;tr&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Blue;">is_array</span><span style="color: Olive;">(</span><span style="color: #00008b;">$mapping</span><span style="color: Olive;">))</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; </span><span style="color: Green;">foreach</span><span style="color: Olive;">(</span><span style="color: #00008b;">$mapping</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">as</span><span style="color: Gray;"> </span><span style="color: #00008b;">$key</span><span style="color: Gray;">=&gt;</span><span style="color: #00008b;">$val</span><span style="color: Olive;">)</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Green;">echo</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;td&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">.</span><span style="color: #00008b;">$val</span><span style="color: Gray;">.</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;/td&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">echo</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;/tr&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$results</span><span style="color: Gray;">=</span><span style="color: #00008b;">$this</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">findBySql</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">select * from </span><span style="color: #8b0000;">'</span><span style="color: Gray;">.</span><span style="color: #00008b;">$table</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">foreach</span><span style="color: Olive;">(</span><span style="color: #00008b;">$results</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">as</span><span style="color: Gray;"> </span><span style="color: #00008b;">$result</span><span style="color: Olive;">)</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; </span><span style="color: Green;">echo</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;tr&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; </span><span style="color: Green;">foreach</span><span style="color: Olive;">(</span><span style="color: #00008b;">$result</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">as</span><span style="color: Gray;"> </span><span style="color: #00008b;">$key</span><span style="color: Gray;">=&gt;</span><span style="color: #00008b;">$val</span><span style="color: Olive;">)</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Green;">echo</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;td&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">.</span><span style="color: #00008b;">$val</span><span style="color: Gray;">.</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;/td&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Green;">echo</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;/tr&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">echo</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;/table&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">echo</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;/body&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">echo</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;/html&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">toExcel</span><span style="color: Olive;">(</span><span style="color: #00008b;">$table</span><span style="color: Gray;">,</span><span style="color: #00008b;">$mapping</span><span style="color: Gray;">,</span><span style="color: #00008b;">$fileName</span><span style="color: Olive;">)</span></li>
<li><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Blue;">header</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Content-type:application/vnd.ms-excel</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span><span style="color: Blue;">header</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Content-Disposition:filename=</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">.</span><span style="color: #00008b;">$fileName</span><span style="color: Gray;">.</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">.xls</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Green;">echo</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;html xmlns:o=&quot;urn:schemas-microsoft-com:office:office&quot;</span></li>
<li><span style="color: Red;">&nbsp; &nbsp; &nbsp;&nbsp; xmlns:x=&quot;urn:schemas-microsoft-com:office:excel&quot;</span></li>
<li><span style="color: Red;">&nbsp; &nbsp; &nbsp;&nbsp; xmlns=&quot;http://www.w3.org/TR/REC-html40&quot;&gt;</span></li>
<li><span style="color: Red;">&nbsp; &nbsp; &nbsp;&nbsp; &lt;head&gt;</span></li>
<li><span style="color: Red;">&nbsp; &nbsp; &nbsp;&nbsp; &lt;meta http-equiv=&quot;expires&quot; content=&quot;Mon, 06 Jan 1999 00:00:01 GMT&quot;&gt;</span></li>
<li><span style="color: Red;">&nbsp; &nbsp; &nbsp;&nbsp; &lt;meta http-equiv=Content-Type content=&quot;text/html; charset=iso-8859-1&quot;&gt;</span></li>
<li><span style="color: Red;">&nbsp; &nbsp; &nbsp;&nbsp; &lt;!--[if gte mso 9]&gt;&lt;xml&gt;</span></li>
<li><span style="color: Red;">&nbsp; &nbsp; &nbsp;&nbsp; &lt;x:ExcelWorkbook&gt;</span></li>
<li><span style="color: Red;">&nbsp; &nbsp; &nbsp;&nbsp; &lt;x:ExcelWorksheets&gt;</span></li>
<li><span style="color: Red;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &lt;x:ExcelWorksheet&gt;</span></li>
<li><span style="color: Red;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &lt;x:Name&gt;&lt;/x:Name&gt;</span></li>
<li><span style="color: Red;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &lt;x:WorksheetOptions&gt;</span></li>
<li><span style="color: Red;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &lt;x:DisplayGridlines/&gt;</span></li>
<li><span style="color: Red;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &lt;/x:WorksheetOptions&gt;</span></li>
<li><span style="color: Red;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &lt;/x:ExcelWorksheet&gt;</span></li>
<li><span style="color: Red;">&nbsp; &nbsp; &nbsp;&nbsp; &lt;/x:ExcelWorksheets&gt;</span></li>
<li><span style="color: Red;">&nbsp; &nbsp; &nbsp;&nbsp; &lt;/x:ExcelWorkbook&gt;</span></li>
<li><span style="color: Red;">&nbsp; &nbsp; &nbsp;&nbsp; &lt;/xml&gt;&lt;![endif]--&gt;</span></li>
<li><span style="color: Red;">&nbsp; &nbsp; &nbsp;&nbsp; &lt;/head&gt;</span></li>
<li><span style="color: Red;">&nbsp; &nbsp; &lt;body link=blue vlink=purple leftmargin=0 topmargin=0&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">echo</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;table width=&quot;100%&quot; border=&quot;0&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: Green;">echo</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;tr&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Blue;">is_array</span><span style="color: Olive;">(</span><span style="color: #00008b;">$mapping</span><span style="color: Olive;">))</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; </span><span style="color: Green;">foreach</span><span style="color: Olive;">(</span><span style="color: #00008b;">$mapping</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">as</span><span style="color: Gray;"> </span><span style="color: #00008b;">$key</span><span style="color: Gray;">=&gt;</span><span style="color: #00008b;">$val</span><span style="color: Olive;">)</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Green;">echo</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;td&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">.</span><span style="color: #00008b;">$val</span><span style="color: Gray;">.</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;/td&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">echo</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;/tr&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$results</span><span style="color: Gray;">=</span><span style="color: #00008b;">$this</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">findBySql</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">select * from </span><span style="color: #8b0000;">'</span><span style="color: Gray;">.</span><span style="color: #00008b;">$table</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">foreach</span><span style="color: Olive;">(</span><span style="color: #00008b;">$results</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">as</span><span style="color: Gray;"> </span><span style="color: #00008b;">$result</span><span style="color: Olive;">)</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; </span><span style="color: Green;">echo</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;tr&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; </span><span style="color: Green;">foreach</span><span style="color: Olive;">(</span><span style="color: #00008b;">$result</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">as</span><span style="color: Gray;"> </span><span style="color: #00008b;">$key</span><span style="color: Gray;">=&gt;</span><span style="color: #00008b;">$val</span><span style="color: Olive;">)</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Green;">echo</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;td&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">.</span><span style="color: #00008b;">$val</span><span style="color: Gray;">.</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;/td&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Green;">echo</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;/tr&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">echo</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;/table&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">echo</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;/body&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">echo</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;/html&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">Backup</span><span style="color: Olive;">(</span><span style="color: #00008b;">$table</span><span style="color: Olive;">)</span></li>
<li><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Blue;">is_array</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: #00008b;">$table</span><span style="color: Olive;">))</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: #00008b;">$str</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Green;">foreach</span><span style="color: Olive;">(</span><span style="color: #00008b;">$table</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">as</span><span style="color: Gray;"> </span><span style="color: #00008b;">$tab</span><span style="color: Olive;">)</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: #00008b;">$str</span><span style="color: Gray;">.=</span><span style="color: #00008b;">$this</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">get_table_content</span><span style="color: Olive;">(</span><span style="color: #00008b;">$tab</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">$str</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">}</span><span style="color: Green;">else</span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">$this</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">get_table_content</span><span style="color: Olive;">(</span><span style="color: #00008b;">$table</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">Backuptofile</span><span style="color: Olive;">(</span><span style="color: #00008b;">$table</span><span style="color: Gray;">,</span><span style="color: #00008b;">$file</span><span style="color: Olive;">)</span></li>
<li><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Blue;">header</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Content-disposition: filename=</span><span style="color: #00008b;">$file</span><span style="color: Red;">.sql</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span><span style="color: #ffa500;">//所保存的文件名</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Blue;">header</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Content-type: application/octetstream</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Blue;">header</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Pragma: no-cache</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Blue;">header</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Expires: 0</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Blue;">is_array</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: #00008b;">$table</span><span style="color: Olive;">))</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: #00008b;">$str</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Green;">foreach</span><span style="color: Olive;">(</span><span style="color: #00008b;">$table</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">as</span><span style="color: Gray;"> </span><span style="color: #00008b;">$tab</span><span style="color: Olive;">)</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: #00008b;">$str</span><span style="color: Gray;">.=</span><span style="color: #00008b;">$this</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">get_table_content</span><span style="color: Olive;">(</span><span style="color: #00008b;">$tab</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Green;">echo</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">$str</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">}</span><span style="color: Green;">else</span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Green;">echo</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">$this</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">get_table_content</span><span style="color: Olive;">(</span><span style="color: #00008b;">$table</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">Restore</span><span style="color: Olive;">(</span><span style="color: #00008b;">$table</span><span style="color: Gray;">,</span><span style="color: #00008b;">$file</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;&quot;</span><span style="color: Gray;">,</span><span style="color: #00008b;">$content</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;&quot;</span><span style="color: Olive;">)</span></li>
<li><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: #ffa500;">//排除file，content都为空或者都不为空的情况</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Green;">if</span><span style="color: Olive;">((</span><span style="color: #00008b;">$file</span><span style="color: Gray;">==</span><span style="color: #8b0000;">&quot;&quot;</span><span style="color: Gray;">&amp;&amp;</span><span style="color: #00008b;">$content</span><span style="color: Gray;">==</span><span style="color: #8b0000;">&quot;&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">||</span><span style="color: Olive;">(</span><span style="color: #00008b;">$file</span><span style="color: Gray;">!=</span><span style="color: #8b0000;">&quot;&quot;</span><span style="color: Gray;">&amp;&amp;</span><span style="color: #00008b;">$content</span><span style="color: Gray;">!=</span><span style="color: #8b0000;">&quot;&quot;</span><span style="color: Olive;">))</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Green;">echo</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">参数错误</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: #00008b;">$this</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">truncate</span><span style="color: Olive;">(</span><span style="color: #00008b;">$table</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: #00008b;">$file</span><span style="color: Gray;">!=</span><span style="color: #8b0000;">&quot;&quot;</span><span style="color: Olive;">)</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: #00008b;">$this</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">RestoreFromFile</span><span style="color: Olive;">(</span><span style="color: #00008b;">$file</span><span style="color: Olive;">))</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">true</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Green;">else</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">false</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: #00008b;">$content</span><span style="color: Gray;">!=</span><span style="color: #8b0000;">&quot;&quot;</span><span style="color: Olive;">)</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: #00008b;">$this</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">RestoreFromContent</span><span style="color: Olive;">(</span><span style="color: #00008b;">$content</span><span style="color: Olive;">))</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">true</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Green;">else</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">false</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: #ffa500;">//清空表，以便恢复数据</span></li>
<li><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">truncate</span><span style="color: Olive;">(</span><span style="color: #00008b;">$table</span><span style="color: Olive;">)</span></li>
<li><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Blue;">is_array</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: #00008b;">$table</span><span style="color: Olive;">))</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: #00008b;">$str</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Green;">foreach</span><span style="color: Olive;">(</span><span style="color: #00008b;">$table</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">as</span><span style="color: Gray;"> </span><span style="color: #00008b;">$tab</span><span style="color: Olive;">)</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: #00008b;">$this</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">execute</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">TRUNCATE TABLE </span><span style="color: #00008b;">$tab</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">}</span><span style="color: Green;">else</span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: #00008b;">$this</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">execute</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">TRUNCATE TABLE </span><span style="color: #00008b;">$table</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">get_table_content</span><span style="color: Olive;">(</span><span style="color: #00008b;">$table</span><span style="color: Olive;">)</span></li>
<li><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: #00008b;">$results</span><span style="color: Gray;">=</span><span style="color: #00008b;">$this</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">findBySql</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">select * from </span><span style="color: #00008b;">$table</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: #00008b;">$temp</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">&quot;&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: #00008b;">$crlf</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Navy;">\r\n</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Green;">foreach</span><span style="color: Olive;">(</span><span style="color: #00008b;">$results</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">as</span><span style="color: Gray;"> </span><span style="color: #00008b;">$result</span><span style="color: Olive;">)</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: #ffa500;">/*(&quot;;</span></li>
<li><span style="color: #ffa500;">&nbsp; foreach($result as $key=&gt;$val)</span></li>
<li><span style="color: #ffa500;">&nbsp; {</span></li>
<li><span style="color: #ffa500;">&nbsp;&nbsp; $schema_insert .= &quot; `&quot;.$key.&quot;`,&quot;;</span></li>
<li><span style="color: #ffa500;">&nbsp; }</span></li>
<li><span style="color: #ffa500;">&nbsp; $schema_insert = ereg_replace(&quot;,$&quot;, &quot;&quot;, $schema_insert);</span></li>
<li><span style="color: #ffa500;">&nbsp; $schema_insert .= &quot;) </span></li>
<li><span style="color: #ffa500;">&nbsp; */</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: #00008b;">$schema_insert</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">INSERT INTO&nbsp; </span><span style="color: #00008b;">$table</span><span style="color: Red;"> VALUES (</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Green;">foreach</span><span style="color: Olive;">(</span><span style="color: #00008b;">$result</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">as</span><span style="color: Gray;"> </span><span style="color: #00008b;">$key</span><span style="color: Gray;">=&gt;</span><span style="color: #00008b;">$val</span><span style="color: Olive;">)</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: #00008b;">$val</span><span style="color: Gray;"> != </span><span style="color: #8b0000;">&quot;&quot;</span><span style="color: Olive;">)</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: #00008b;">$schema_insert</span><span style="color: Gray;"> .= </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;"> '</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">.</span><span style="color: Blue;">addslashes</span><span style="color: Olive;">(</span><span style="color: #00008b;">$val</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">',</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Green;">else</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: #00008b;">$schema_insert</span><span style="color: Gray;"> .= </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">NULL,</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: #00008b;">$schema_insert</span><span style="color: Gray;"> = </span><span style="color: Blue;">ereg_replace</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">,$</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: #8b0000;">&quot;&quot;</span><span style="color: Gray;">, </span><span style="color: #00008b;">$schema_insert</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: #00008b;">$schema_insert</span><span style="color: Gray;"> .= </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">);</span><span style="color: #00008b;">$crlf</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: #00008b;">$temp</span><span style="color: Gray;"> = </span><span style="color: #00008b;">$temp</span><span style="color: Gray;">.</span><span style="color: #00008b;">$schema_insert</span><span style="color: Gray;"> ;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">$temp</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">RestoreFromFile</span><span style="color: Olive;">(</span><span style="color: #00008b;">$file</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Green;">false</span><span style="color: Gray;"> !== </span><span style="color: Olive;">(</span><span style="color: #00008b;">$fp</span><span style="color: Gray;"> = </span><span style="color: Blue;">fopen</span><span style="color: Olive;">(</span><span style="color: #00008b;">$file</span><span style="color: Gray;">, </span><span style="color: #8b0000;">'</span><span style="color: Red;">r</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)))</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: #00008b;">$sql_queries</span><span style="color: Gray;"> = </span><span style="color: Blue;">trim</span><span style="color: Olive;">(</span><span style="color: Blue;">fread</span><span style="color: Olive;">(</span><span style="color: #00008b;">$fp</span><span style="color: Gray;">, </span><span style="color: Blue;">filesize</span><span style="color: Olive;">(</span><span style="color: #00008b;">$file</span><span style="color: Olive;">)))</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: #00008b;">$this</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">splitMySqlFile</span><span style="color: Olive;">(</span><span style="color: #00008b;">$pieces</span><span style="color: Gray;">, </span><span style="color: #00008b;">$sql_queries</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Green;">foreach</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: #00008b;">$pieces</span><span style="color: Gray;"> </span><span style="color: Green;">as</span><span style="color: Gray;"> </span><span style="color: #00008b;">$query</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Gray;">!</span><span style="color: #00008b;">$this</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">execute</span><span style="color: Olive;">(</span><span style="color: Blue;">trim</span><span style="color: Olive;">(</span><span style="color: #00008b;">$query</span><span style="color: Olive;">)))</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">false</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">true</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">false</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">RestoreFromContent</span><span style="color: Olive;">(</span><span style="color: #00008b;">$content</span><span style="color: Olive;">)</span></li>
<li><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: #00008b;">$content</span><span style="color: Gray;"> = </span><span style="color: Blue;">trim</span><span style="color: Olive;">(</span><span style="color: #00008b;">$content</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: #00008b;">$this</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">splitMySqlFile</span><span style="color: Olive;">(</span><span style="color: #00008b;">$pieces</span><span style="color: Gray;">, </span><span style="color: #00008b;">$content</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Green;">foreach</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: #00008b;">$pieces</span><span style="color: Gray;"> </span><span style="color: Green;">as</span><span style="color: Gray;"> </span><span style="color: #00008b;">$query</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Gray;">!</span><span style="color: #00008b;">$this</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">execute</span><span style="color: Olive;">(</span><span style="color: Blue;">trim</span><span style="color: Olive;">(</span><span style="color: #00008b;">$query</span><span style="color: Olive;">)))</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">false</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">true</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">splitMySqlFile</span><span style="color: Olive;">(</span><span style="color: Gray;">&amp;</span><span style="color: #00008b;">$ret</span><span style="color: Gray;">, </span><span style="color: #00008b;">$sql</span><span style="color: Olive;">)</span></li>
<li><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: #00008b;">$sql</span><span style="color: Gray;">= </span><span style="color: Blue;">trim</span><span style="color: Olive;">(</span><span style="color: #00008b;">$sql</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: #00008b;">$sql</span><span style="color: Gray;">=</span><span style="color: Blue;">split</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: #00008b;">$sql</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: #00008b;">$arr</span><span style="color: Gray;">=</span><span style="color: Green;">array</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Green;">foreach</span><span style="color: Olive;">(</span><span style="color: #00008b;">$sql</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">as</span><span style="color: Gray;"> </span><span style="color: #00008b;">$sq</span><span style="color: Olive;">)</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: #00008b;">$sq</span><span style="color: Gray;">!=</span><span style="color: #8b0000;">&quot;&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #00008b;">$arr</span><span style="color: Olive;">[]</span><span style="color: Gray;">=</span><span style="color: #00008b;">$sq</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: #00008b;">$ret</span><span style="color: Gray;">=</span><span style="color: #00008b;">$arr</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">true</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: #00008b;">$db</span><span style="color: Gray;">=</span><span style="color: Green;">new</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">db</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: #00008b;">$map</span><span style="color: Gray;">=</span><span style="color: Green;">array</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">No</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: #8b0000;">'</span><span style="color: Red;">Name</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: #8b0000;">'</span><span style="color: Red;">Email</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: #8b0000;">'</span><span style="color: Red;">Age</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: #ffa500;">//$db-&gt;toExcel('test',$map,'档案');</span></li>
<li><span style="color: Green;">echo</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">$db</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">toExtXml</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">test</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">?&gt;</span></li></ol></div>
]]></content:encoded>
			<wfw:commentRss>http://www.ue360.net/2008/10/extjs-01/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
