<?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:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Explore Open Source Technology</title>
	<atom:link href="http://openstech.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://openstech.wordpress.com</link>
	<description>Lets Explore Power of Open Source Technology PHP, MYSQL, APACHE, LINUX(LAMP)</description>
	<pubDate>Wed, 07 May 2008 07:10:05 +0000</pubDate>
	<generator>http://wordpress.org/?v=MU</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Speeding Up AJAX with JSON</title>
		<link>http://openstech.wordpress.com/2008/05/07/speeding-up-ajax-with-json/</link>
		<comments>http://openstech.wordpress.com/2008/05/07/speeding-up-ajax-with-json/#comments</comments>
		<pubDate>Wed, 07 May 2008 07:10:05 +0000</pubDate>
		<dc:creator>openstech</dc:creator>
		
		<category><![CDATA[web development in php]]></category>

		<category><![CDATA[ajax]]></category>

		<category><![CDATA[json]]></category>

		<guid isPermaLink="false">http://openstech.wordpress.com/?p=45</guid>
		<description><![CDATA[When Microsoft added the ActiveX XMLHTTP object to Internet Explorer&#8217;s implementation of JavaScript, the company planted the seed for the revolution in Web applications known as Asynchronous JavaScript and XML, or AJAX. Today, Firefox, Safari, Opera, and other browsers all support what is now known as XMLHttpRequest, making possible sites such as colr.org, backpackit.com, and [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><span style="font-family:Verdana,Arial,Helvetica;">When Microsoft added the ActiveX XMLHTTP object to Internet Explorer&#8217;s implementation of JavaScript, the company planted the seed for the revolution in Web applications known as Asynchronous JavaScript and XML, or AJAX. Today, Firefox, Safari, Opera, and other browsers all support what is now known as XMLHttpRequest, making possible sites such as <a href="http://colr.org/" target="new">colr.org</a>, <a href="http://backpackit.com/" target="new">backpackit.com</a>, and <a href="http://maps.google.com/" target="new">maps.google.com</a>. These and other sites feature applications that act and feel like other desktop applications—even though they&#8217;re running in a browser.</span></p>
<p><span style="font-family:Verdana,Arial,Helvetica;">In AJAX, the JavaScript on the page sends requests to a Web server for data while the user&#8217;s viewing and interacting with the page (hence the &#8220;asynchronous&#8221; part of AJAX). Those requests are HTTP requests just like the one the browser used to retrieve the page in the first place, as well as any images, stylesheets, and so forth. As such, the XMLHttpRequest object can be used to retrieve any kind of data, not just XML. For example, JavaScript can use XMLHttpRequest to retrieve a plain text file from a Web server and display its contents within a form.</span></p>
<p><span style="font-family:Verdana,Arial,Helvetica;">The XMLHttpRequest object analyzes the MIME type of the data coming back from the Web server by looking at the Content-type header that precedes the data. If it&#8217;s <tt>text/plain</tt> for example, you can access the text by examining the XMLHttpRequest object&#8217;s <tt>responseText</tt> property. But, if it&#8217;s <tt>text/xml</tt>, the XMLHttpRequest object takes an extra step: It runs an XML parser on the returned document and builds a Document Object Model (DOM) tree in memory representing the document, and makes that available in the <tt>responseXML</tt> property. You then can use JavaScript&#8217;s standard DOM methods to navigate the tree and retrieve elements, attributes, and other text occurring in the tree.</span></p>
<p><span style="font-family:Verdana,Arial,Helvetica;">XML is <em>the</em> standard way to interchange data, but it&#8217;s often not the <em>best</em> way. Although XML can add structure and metadata to data, it does so in an overly verbose way. XML also has a fairly complex syntax, requiring a non-trivial parser to attack it. In JavaScript, XML must be parsed into a DOM tree to be used. And, once you&#8217;ve constructed the DOM tree, you still have to pilot through it to create corresponding JavaScript objects or otherwise use the XML data in your client-side Web application.</span></p>
<p><span style="font-family:Verdana,Arial,Helvetica;">Fortunately, there&#8217;s a better way.</span></p>
<h3><span style="font-family:Verdana,Arial,Helvetica;">Welcome to JSON</span></h3>
<p><span style="font-family:Verdana,Arial,Helvetica;">The JavaScript Object Notation, or JSON, is a lightweight syntax for representing data. JSON&#8217;s elegance comes from the fact that it&#8217;s a <em>subset</em> of the JavaScript language itself. You&#8217;ll see why that&#8217;s important later. First, compare the raw syntax of JSON against XML.</span></p>
<p><span style="font-family:Verdana,Arial,Helvetica;">Both XML and JSON use structured approaches to mark up data. For example, an address book application might provide a Web service that yields address cards in this XML format:</span></p>
<pre><span style="font-family:Verdana,Arial,Helvetica;">&lt;?xml version='1.0' encoding='UTF-8'?&gt;
&lt;card&gt;
   &lt;fullname&gt;Sean Kelly&lt;/fullname&gt;
   &lt;org&gt;SK Consulting&lt;/org&gt;
   &lt;emailaddrs&gt;
      &lt;address type='work'&gt;kelly@seankelly.biz&lt;/address&gt;
      &lt;address type='home' pref='1'&gt;kelly@seankelly.tv&lt;/address&gt;
   &lt;/emailaddrs&gt;
   &lt;telephones&gt;
      &lt;tel type='work' pref='1'&gt;+1 214 555 1212&lt;/tel&gt;
      &lt;tel type='fax'&gt;+1 214 555 1213&lt;/tel&gt;
      &lt;tel type='mobile'&gt;+1 214 555 1214&lt;/tel&gt;
   &lt;/telephones&gt;
   &lt;addresses&gt;
      &lt;address type='work' format='us'&gt;1234 Main St
         Springfield, TX 78080-1216&lt;/address&gt;
      &lt;address type='home' format='us'&gt;5678 Main St
         Springfield, TX 78080-1316&lt;/address&gt;
   &lt;/addresses&gt;
   &lt;urls&gt;
      &lt;address type='work'&gt;http://seankelly.biz/&lt;/address&gt;
      &lt;address type='home'&gt;http://seankelly.tv/&lt;/address&gt;
   &lt;/urls&gt;
&lt;/card&gt;
</span></pre>
<p><span style="font-family:Verdana,Arial,Helvetica;">With JSON, it looks like this:</span></p>
<pre><span style="font-family:Verdana,Arial,Helvetica;">{
   "fullname": "Sean Kelly",
   "org": "SK Consulting",
   "emailaddrs": [
      {"type": "work", "value": "kelly@seankelly.biz"},
      {"type": "home", "pref": 1, "value": "kelly@seankelly.tv"}
   ],
    "telephones": [
      {"type": "work", "pref": 1, "value": "+1 214 555 1212"},
      {"type": "fax", "value": "+1 214 555 1213"},
      {"type": "mobile", "value": "+1 214 555 1214"}
   ],
   "addresses": [
      {"type": "work", "format": "us",
       "value": "1234 Main StnSpringfield, TX 78080-1216"},
      {"type": "home", "format": "us",
       "value": "5678 Main StnSpringfield, TX 78080-1316"}
   ],
    "urls": [
      {"type": "work", "value": "http://seankelly.biz/"},
      {"type": "home", "value": "http://seankelly.tv/"}
   ]
}
</span></pre>
<p><span style="font-family:Verdana,Arial,Helvetica;">As you can see, JSON has structure with nesting of data elements, just as XML does. JSON too is text-based, as XML is. Both use Unicode. JSON is just as readable by humans as XML is. Subjectively, JSON is clearer and has less redundancy. The <a href="http://json.org/" target="new">JSON Web site</a> describes the syntax of JSON rigorously, and yet does so briefly. It really is a simple little language! XML is certainly appropriate for marking up documents, but JSON is ideal for <em>data interchange</em>. Each instance of a JSON document describes <em>one object</em> with nested objects, arrays, strings, numbers, boolean values, or null values.</span></p>
<p><span style="font-family:Verdana,Arial,Helvetica;">In these address card examples, the JSON version is lighter weight, taking 682 bytes of space, whereas the XML version requires 744. That&#8217;s not a spectacular savings, of course. The real benefits come in the parsing.</span></p>
<p><!--  - begin page 2   ---></p>
<h3><span style="font-family:Verdana,Arial,Helvetica;">XML Versus JSON: the Smackdown!</span></h3>
<p><span style="font-family:Verdana,Arial,Helvetica;">By using the XMLHttpRequest object, you can retrieve both XML and JSON files from within your AJAX-based application. Typically, your interaction will go something like this:</span></p>
<pre><span style="font-family:Verdana,Arial,Helvetica;">var req = new XMLHttpRequest();
req.open("GET", "http://localhost/addr?cardID=32", /*async*/true);
req.onreadystatechange = myHandler;
req.send(/*no params*/null);
</span></pre>
<p><span style="font-family:Verdana,Arial,Helvetica;">As the Web server replies, the handler function you passed in (<tt>myHandler</tt> in this example) is called repeatedly, affording you an opportunity to abort the transaction early, update a progress bar, and so forth. Frequently, you only take action when the Web request is complete; at that time, you use the returned data.</span></p>
<p><span style="font-family:Verdana,Arial,Helvetica;">To handle the XML version of your address card, the code for <tt>myHandler</tt> might look something like this:</span></p>
<pre><span style="font-family:Verdana,Arial,Helvetica;">function myHandler() {
   if (req.readyState == 4 /*complete*/) {
       // Update address field in a form with first street address
       var addrField   = document.getElementById('addr');
       var root        = req.responseXML;
       var addrsElem   = root.getElementsByTagName('addresses')[0];
       var firstAddr   = addrsElem.getElementsByTagName('address')[0];
       var addrText    = fistAddr.firstChild;
       var addrValue   = addrText.nodeValue;
       addrField.value = addrValue;
   }
}
</span></pre>
<p><span style="font-family:Verdana,Arial,Helvetica;">Notice that you didn&#8217;t have to parse the XML document; the XMLHttpRequest object did that automatically and made the parsed DOM tree available in the <tt>responseXML</tt> property. By using that property, you call the <tt>getElementsByTagName</tt> method to find the <tt>addresses</tt> part of the document, and you use the first one (of only one) found. Then, you call <tt>getElementsByTagName</tt> again this time on that <tt>addresses</tt> element to find the first <tt>address</tt> element, and again use the first one found. Then, you get the first DOM child of that element, which is a text node, and get the node&#8217;s value, which is the street address you want. Finally, you can display it in the form field.</span></p>
<p><span style="font-family:Verdana,Arial,Helvetica;">That&#8217;s a lot of work! Now, let&#8217;s try it with JSON:</span></p>
<pre><span style="font-family:Verdana,Arial,Helvetica;">function myHandler() {
   if (req.readyState == 4 /*complete*/) {
       var addrField = document.getElementById('addr');
       var card = eval('(' + req.responseText + ')');
       addrField.value = card.addresses[0].value;
   }
}
</span></pre>
<p><span style="font-family:Verdana,Arial,Helvetica;">The first thing you need to do is manually parse the JSON response. However, because JSON is a subset of JavaScript, you can use JavaScript&#8217;s own compiler to do just that by calling <tt>eval</tt>. Parsing JSON is a one-liner! Moreover, navigating an object synthesized from JSON is identical to navigating any JavaScript object. It&#8217;s far easier than navigating through the DOM tree. For example:</span></p>
<ul><span style="font-family:Verdana,Arial,Helvetica;"></p>
<li><tt>card.addresses[0].value</tt> is the first street address, &#8220;1234 Main Stb &amp;&#8221;</li>
<li><tt>card.addresses[0].type</tt> is the type of the address, &#8220;work&#8221;</li>
<li><tt>card.addresses[1]</tt> is an object which is the home address</li>
<li><tt>card.fullname</tt> is the name on the card, &#8220;Sean Kelly&#8221;</li>
<p></span></ul>
<p><span style="font-family:Verdana,Arial,Helvetica;">If you&#8217;re watching closely, you might&#8217;ve noticed that the XML version at least states up front what object is contained in the document with the root document element, <tt>card</tt>. This is absent in the JSON version. Why? Presumably, if you&#8217;re developing JavaScript that accesses a Web service, you already know what you&#8217;re going to get back. However, you can include such a nicety in JSON:</span></p>
<pre><span style="font-family:Verdana,Arial,Helvetica;">{"card": {"fullname": ...}}</span></pre>
<p><span style="font-family:Verdana,Arial,Helvetica;">By using this technique, your JSON files always start with an object with a single named property that identifies the &#8220;kind&#8221; of the object</span></p>
<p><span style="font-family:Verdana,Arial,Helvetica;"></p>
<h3>Is JSON Fast and Reliable?</h3>
<p>JSON produces slightly smaller documents, and JSON is certainly easier to use in JavaScript. XMLHttpRequest parses XML documents for you whereas you have to manually parse JSON, but is parsing JSON slower than parsing XML? I tested the XML parser built into XMLHttpRequest against JSON on these address cards and put them through thousands of iterations. Parsing JSON was 10 times faster than parsing XML! When it comes to making AJAX behave like a desktop application, speed is everything, and clearly, JSON is a winner.</p>
<p>Of course, you might not always have control of the server-side that&#8217;s producing data for your AJAX application. You might be using a third-party server for your data and it&#8217;s possible that server provides only XML output. And, if it happens to provide JSON, are you sure you really want to use it?</p>
<p>Notice in your example that you passed the response text directly into a call to <tt>eval</tt>. If you trust and control the server, that&#8217;s probably okay. If not, a malicious server could have your browsers executing dangerous actions. In that case, you&#8217;re better off using a JSON parser written in JavaScript. Luckily, <a href="http://www.json.org/js.html" target="new">one already exists</a>.</p>
<p>Speaking of parsers, Python fans might&#8217;ve noticed that not only is JSON a subset of JavaScript, it&#8217;s also a subset of Python. You can evaluate JSON directly in Python, or take advantage of a safe <a href="http://undefined.org/python/#simple_json" target="new">JSON parser</a> instead. Parsers for JSON exist in dozens of other languages as well; the <a href="http://json.org/" target="new">JSON.org</a> Web site lists them.</p>
<h3>JSON on the Server Side</h3>
<p>So far, you&#8217;ve been focusing on using JSON in AJAX-based Web applications running in the client browser. Naturally, there has to be something in the Web <em>server</em> to produce that JSON in the first place. Luckily, creating JSON or &#8220;stringifying&#8221; it from existing data structures is fairly straightforward. Certain Web application frameworks, such as <a href="http://turbogears.org/" target="new">TurboGears</a>, automatically include support for JSON output. JSON stringifiers exist for several languages as well.</p>
<p>In addition, commercial Web services providers are taking note of JSON. Yahoo recently made many of their Web services <a href="http://developer.yahoo.net/common/json.html" target="new">JSON-enabled</a>. Yahoo&#8217;s various search services, travel planners, del.icio.us, and highway traffic services all support JSON output. Doubtless, other major Web services providers will jump on the JSON bandwagon.</p>
<h3>Conclusion</h3>
<p>JSON&#8217;s clever idea of being a subset of JavaScript (and Python) makes it an instantly useable, lightweight, and highly nimble way to handle data interchange for AJAX. It&#8217;s faster to parse and vastly easier to use than XML. It&#8217;s bound to become the buzzword of the day for &#8220;Web 2.0.&#8221; Any developer, whether of the standard desktop application variety or of Web applications, is bound to appreciate its simplicity and adroitness. I hope you enjoy using JSON in your own buzzword-compliant, Web-2.0-based, AJAX-enabled, agile, rapid application development, on-or-off-rails applications.</p>
<p></span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/openstech.wordpress.com/45/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/openstech.wordpress.com/45/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/openstech.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/openstech.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/openstech.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/openstech.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/openstech.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/openstech.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/openstech.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/openstech.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/openstech.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/openstech.wordpress.com/45/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=openstech.wordpress.com&blog=822521&post=45&subd=openstech&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://openstech.wordpress.com/2008/05/07/speeding-up-ajax-with-json/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Sajax PHP</title>
		<link>http://openstech.wordpress.com/2008/01/24/sajax-php/</link>
		<comments>http://openstech.wordpress.com/2008/01/24/sajax-php/#comments</comments>
		<pubDate>Thu, 24 Jan 2008 06:20:54 +0000</pubDate>
		<dc:creator>openstech</dc:creator>
		
		<category><![CDATA[advanced s/w development life cycle]]></category>

		<category><![CDATA[design pattern]]></category>

		<category><![CDATA[framework]]></category>

		<category><![CDATA[linux apache mysql php development]]></category>

		<category><![CDATA[server]]></category>

		<category><![CDATA[web development in php]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[sajax]]></category>

		<guid isPermaLink="false">http://openstech.wordpress.com/2008/01/24/sajax-php/</guid>
		<description><![CDATA[

AJAX and PHP Tutorial: Building Responsive Web Applications


Enhance the user experience of your PHP website using AJAX with this practical and friendly tutorial! This book is the most efficient resource you can get &#8230;www.cristiandarie.ro/ajax-php/ - 22k - Cached - Similar pages




Ajax Toolkit for PHP - SAJAX - Simple Ajax Toolkit by ModernMethod


An open source XMLHTTPRequest toolkit with PHP, Perl, and Python backends.www.modernmethod.com/sajax/ - 11k - Cached - Similar pages




PHPit - Totally PHP » Ajax &#38; PHP without using the XmlHttpRequest &#8230;


A PHP file which [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><span style="font-family:arial;line-height:normal;" class="Apple-style-span">
<div style="color:#000000;font-family:arial, sans-serif;margin:1em 0;" class="g">
<h2 class="r"><a href="http://www.cristiandarie.ro/ajax-php/" class="l"><b>AJAX</b> and <b>PHP</b> Tutorial: Building Responsive Web Applications</a></h2>
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td style="color:#000000;font-family:arial, sans-serif;width:34em;" class="j"><font size="-1">Enhance the user experience of your <b>PHP</b> website using <b>AJAX</b> with this practical and friendly tutorial! This book is the most efficient resource you can get <b>&#8230;</b><span style="color:green;" class="a">www.cristiandarie.ro/<b>ajax</b>-<b>php</b>/ - 22k - </span><a href="http://209.85.175.104/search?q=cache:8AvNW1WPqBMJ:www.cristiandarie.ro/ajax-php/+php+and+ajax&amp;hl=en&amp;ct=clnk&amp;cd=1&amp;gl=in" class="fl">Cached</a> - <a href="http://www.google.co.in/search?hl=en&amp;q=related:www.cristiandarie.ro/ajax-php/" class="fl">Similar pages</a></font></td>
</tr>
</table>
</div>
<div style="color:#000000;font-family:arial, sans-serif;margin:1em 0;" class="g">
<h2 class="r"><a href="http://www.modernmethod.com/sajax/" class="l"><b>Ajax</b> Toolkit for <b>PHP</b> - SAJAX - Simple <b>Ajax</b> Toolkit by ModernMethod</a></h2>
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td style="color:#000000;font-family:arial, sans-serif;width:34em;" class="j"><font size="-1">An open source XMLHTTPRequest toolkit with <b>PHP</b>, Perl, and Python backends.<span style="color:green;" class="a">www.modernmethod.com/s<b>ajax</b>/ - 11k - </span><a href="http://209.85.175.104/search?q=cache:XuxnE4MHgJYJ:www.modernmethod.com/sajax/+php+and+ajax&amp;hl=en&amp;ct=clnk&amp;cd=2&amp;gl=in" class="fl">Cached</a> - <a href="http://www.google.co.in/search?hl=en&amp;q=related:www.modernmethod.com/sajax/" class="fl">Similar pages</a></font></td>
</tr>
</table>
</div>
<div style="color:#000000;font-family:arial, sans-serif;margin:1em 0;" class="g">
<h2 class="r"><a href="http://www.phpit.net/article/ajax-php-without-xmlhttprequest/" class="l">PHPit - Totally <b>PHP</b> » <b>Ajax</b> &amp; <b>PHP</b> without using the XmlHttpRequest <b>&#8230;</b></a></h2>
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td style="color:#000000;font-family:arial, sans-serif;width:34em;" class="j"><font size="-1">A <b>PHP</b> file which looks something like this:. &lt;?<b>php</b>. $html = &#8216;&lt;b&gt;This content came from our<b>Ajax</b> Engine&lt;/b&gt;&#8217;; ?&gt; div = document.getElementById(&#8217;contentdiv&#8217;) <b>&#8230;</b><span style="color:green;" class="a">www.<b>php</b>it.net/article/<b>ajax</b>-<b>php</b>-without-xmlhttprequest/ - 21k - </span><a href="http://209.85.175.104/search?q=cache:8ma_lyG5fSsJ:www.phpit.net/article/ajax-php-without-xmlhttprequest/+php+and+ajax&amp;hl=en&amp;ct=clnk&amp;cd=3&amp;gl=in" class="fl">Cached</a> - <a href="http://www.google.co.in/search?hl=en&amp;q=related:www.phpit.net/article/ajax-php-without-xmlhttprequest/" class="fl">Similar pages</a></font></td>
</tr>
</table>
</div>
<div style="color:#000000;font-family:arial, sans-serif;margin:1em 0;" class="g">
<h2 class="r"><a href="http://www.phpbuilder.com/columns/kassemi20050606.php3" class="l">PHPBuilder.com, the best resource for <b>PHP</b> tutorials, templates <b>&#8230;</b></a></h2>
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td style="color:#000000;font-family:arial, sans-serif;width:34em;" class="j"><font size="-1">XMLHttpRequest and <b>AJAX</b> for <b>PHP</b> programmers. James Kassemi. Introduction:. Although the concept isn&#8217;t entirely new, XMLHttpRequest technology is implemented <b>&#8230;</b><span style="color:green;" class="a">www.<b>php</b>builder.com/columns/kassemi20050606.<b>php</b>3 - 63k - </span><a href="http://209.85.175.104/search?q=cache:k31YGP0nK0UJ:www.phpbuilder.com/columns/kassemi20050606.php3+php+and+ajax&amp;hl=en&amp;ct=clnk&amp;cd=4&amp;gl=in" class="fl">Cached</a> - <a href="http://www.google.co.in/search?hl=en&amp;q=related:www.phpbuilder.com/columns/kassemi20050606.php3" class="fl">Similar pages</a></font></td>
</tr>
</table>
</div>
<div style="color:#000000;font-family:arial, sans-serif;margin:1em 0;" class="g">
<h2 class="r"><a href="http://www.ajaxtopics.com/ajaxphp.html" class="l"><b>ajax php</b></a></h2>
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td style="color:#000000;font-family:arial, sans-serif;width:34em;" class="j"><font size="-1">This tutorial explains how to use <b>Ajax</b> with <b>PHP</b> and introduces the Simple <b>Ajax</b> Toolkit (Sajax), a tool written in <b>PHP</b> that lets you integrate server-side <b>&#8230;</b><span style="color:green;" class="a">www.<b>ajax</b>topics.com/<b>ajax</b><b>php</b>.html - 18k - </span><a href="http://209.85.175.104/search?q=cache:0Zag2LVu1l4J:www.ajaxtopics.com/ajaxphp.html+php+and+ajax&amp;hl=en&amp;ct=clnk&amp;cd=5&amp;gl=in" class="fl">Cached</a> - <a href="http://www.google.co.in/search?hl=en&amp;q=related:www.ajaxtopics.com/ajaxphp.html" class="fl">Similar pages</a></font></td>
</tr>
</table>
</div>
<div style="color:#000000;font-family:arial, sans-serif;margin:1em 0;" class="g">
<h2 class="r"><a href="http://www.johnwiseman.ca/blogging/tutorials/creating-a-mysql-connection-with-phpajax/" class="l">&#8221; » Creating a MySQL connection with <b>PHP</b>/<b>AJAX</b>&#8221; by John Wiseman</a></h2>
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td style="color:#000000;font-family:arial, sans-serif;width:34em;" class="j"><font size="-1">In this tutorial I will explain how to open a [tag]mysql[/tag] database connection using <b>PHP</b>and the all popular [tag]<b>AJAX</b>[/tag].<span style="color:green;" class="a">www.johnwiseman.ca/blogging/tutorials/ creating-a-mysql-connection-with-<b>php</b><b>ajax</b>/ - 61k -</span><a href="http://209.85.175.104/search?q=cache:TCsr8mX0jDcJ:www.johnwiseman.ca/blogging/tutorials/creating-a-mysql-connection-with-phpajax/+php+and+ajax&amp;hl=en&amp;ct=clnk&amp;cd=6&amp;gl=in" class="fl">Cached</a> - <a href="http://www.google.co.in/search?hl=en&amp;q=related:www.johnwiseman.ca/blogging/tutorials/creating-a-mysql-connection-with-phpajax/" class="fl">Similar pages</a></font></td>
</tr>
</table>
</div>
<div style="color:#000000;font-family:arial, sans-serif;margin:1em 0;" class="g">
<h2 class="r"><a href="http://www.ibm.com/developerworks/xml/library/os-php-rad1/" class="l">Developing <b>PHP</b> the <b>Ajax</b> way, Part 1: Getting started</a></h2>
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td style="color:#000000;font-family:arial, sans-serif;width:34em;" class="j"><font size="-1">Asynchronous JavaScript and XML (<b>Ajax</b>), is arguably the most popular new Web technology. In this two-part &#8216;Developing <b>PHP</b> the <b>Ajax</b> way&#8217; series, <b>&#8230;</b><span style="color:green;" class="a">www.ibm.com/developerworks/xml/library/os-<b>php</b>-rad1/ - 65k - </span><a href="http://209.85.175.104/search?q=cache:ac_zBo9iUg0J:www.ibm.com/developerworks/xml/library/os-php-rad1/+php+and+ajax&amp;hl=en&amp;ct=clnk&amp;cd=7&amp;gl=in" class="fl">Cached</a> - <a href="http://www.google.co.in/search?hl=en&amp;q=related:www.ibm.com/developerworks/xml/library/os-php-rad1/" class="fl">Similar pages</a></font></td>
</tr>
</table>
</div>
<div style="color:#000000;font-family:arial, sans-serif;margin:1em 0;" class="g">
<h2 class="r"><a href="http://www.smashingmagazine.com/2007/01/26/tutorials-round-up-ajax-css-javascript-php-mysql-and-more/" class="l">Tutorials Round-Up: <b>Ajax</b>, CSS, <b>PHP</b> and More | Tutorials | Smashing <b>&#8230;</b></a></h2>
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td style="color:#000000;font-family:arial, sans-serif;width:34em;" class="j"><font size="-1">Coding or designing a page, it&#8217;s always nice to have some basic templates you can quickly modify adapt your needs. However, at least once know, <b>&#8230;</b><span style="color:green;" class="a">www.smashingmagazine.com/2007/01/26/ tutorials-round-up-<b>ajax</b>-css-javascript-<b>php</b>-mysql-and-more/ - 138k - </span><a href="http://209.85.175.104/search?q=cache:JNC1prtduv8J:www.smashingmagazine.com/2007/01/26/tutorials-round-up-ajax-css-javascript-php-mysql-and-more/+php+and+ajax&amp;hl=en&amp;ct=clnk&amp;cd=8&amp;gl=in" class="fl">Cached</a> - <a href="http://www.google.co.in/search?hl=en&amp;q=related:www.smashingmagazine.com/2007/01/26/tutorials-round-up-ajax-css-javascript-php-mysql-and-more/" class="fl">Similar pages</a></font></td>
</tr>
</table>
</div>
<div style="color:#000000;font-family:arial, sans-serif;margin:1em 0;" class="g">
<h2 class="r"><a href="http://www.w3schools.com/php/php_ajax_database.asp" class="l"><b>PHP and AJAX</b> MySQL Database Example</a></h2>
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td style="color:#000000;font-family:arial, sans-serif;width:34em;" class="j"><font size="-1">The stateChanged() and GetXmlHttpObject functions are the same as in the <b>PHP AJAX</b>Suggest chapter, you can go to there for an explanation of those. <b>&#8230;</b><span style="color:green;" class="a">www.w3schools.com/<b>php</b>/<b>php</b>_<b>ajax</b>_database.asp - 31k - </span><a href="http://209.85.175.104/search?q=cache:2xSbwGzu4AUJ:www.w3schools.com/php/php_ajax_database.asp+php+and+ajax&amp;hl=en&amp;ct=clnk&amp;cd=9&amp;gl=in" class="fl">Cached</a> - <a href="http://www.google.co.in/search?hl=en&amp;q=related:www.w3schools.com/php/php_ajax_database.asp" class="fl">Similar pages</a></font></td>
</tr>
</table>
</div>
<div style="color:#000000;font-family:arial, sans-serif;margin:1em 0;" class="g">
<h2 class="r"><a href="http://ajax.zervaas.com.au/" class="l">AjaxAC - Open-source <b>PHP</b> framework for creating <b>AJAX</b> / JavaScript <b>&#8230;</b></a></h2>
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td style="color:#000000;font-family:arial, sans-serif;width:34em;" class="j"><font size="-1">Object oriented Web-application framework offering to build <b>Ajax</b> applications. [Open source, Apache licence]<span style="color:green;" class="a"><b>ajax</b>.zervaas.com.au/ - 12k - </span><a href="http://209.85.175.104/search?q=cache:MtIAE7a9seIJ:ajax.zervaas.com.au/+php+and+ajax&amp;hl=en&amp;ct=clnk&amp;cd=10&amp;gl=in" class="fl">Cached</a> - <a href="http://www.google.co.in/search?hl=en&amp;q=related:ajax.zervaas.com.au/" class="fl">Similar pages</a></font></td>
</tr>
</table>
</div>
<p></span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/openstech.wordpress.com/43/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/openstech.wordpress.com/43/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/openstech.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/openstech.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/openstech.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/openstech.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/openstech.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/openstech.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/openstech.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/openstech.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/openstech.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/openstech.wordpress.com/43/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=openstech.wordpress.com&blog=822521&post=43&subd=openstech&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://openstech.wordpress.com/2008/01/24/sajax-php/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PHP AJAX Tutorial</title>
		<link>http://openstech.wordpress.com/2008/01/24/php-ajax-tutorial/</link>
		<comments>http://openstech.wordpress.com/2008/01/24/php-ajax-tutorial/#comments</comments>
		<pubDate>Thu, 24 Jan 2008 06:18:33 +0000</pubDate>
		<dc:creator>openstech</dc:creator>
		
		<category><![CDATA[design pattern]]></category>

		<category><![CDATA[framework]]></category>

		<category><![CDATA[linux apache mysql php development]]></category>

		<category><![CDATA[server]]></category>

		<category><![CDATA[web development in php]]></category>

		<category><![CDATA[ajax]]></category>

		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://openstech.wordpress.com/2008/01/24/php-ajax-tutorial/</guid>
		<description><![CDATA[

AJAX and PHP Tutorial: Building Responsive Web Applications


Enhance the user experience of your PHP website using AJAX with this practical and friendly tutorial! This book is the most efficient resource you can get &#8230;www.cristiandarie.ro/ajax-php/ - 22k - Cached - Similar pages




Ajax Toolkit for PHP - SAJAX - Simple Ajax Toolkit by ModernMethod


An open source XMLHTTPRequest toolkit with PHP, Perl, and Python backends.www.modernmethod.com/sajax/ - 11k - Cached - Similar pages




PHPit - Totally PHP » Ajax &#38; PHP without using the XmlHttpRequest &#8230;


A PHP file which [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><span style="font-family:arial;line-height:normal;" class="Apple-style-span">
<div style="color:#000000;font-family:arial, sans-serif;margin:1em 0;" class="g">
<h2 class="r"><a href="http://www.cristiandarie.ro/ajax-php/" class="l"><b>AJAX</b> and <b>PHP</b> Tutorial: Building Responsive Web Applications</a></h2>
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td style="color:#000000;font-family:arial, sans-serif;width:34em;" class="j"><font size="-1">Enhance the user experience of your <b>PHP</b> website using <b>AJAX</b> with this practical and friendly tutorial! This book is the most efficient resource you can get <b>&#8230;</b><span style="color:green;" class="a">www.cristiandarie.ro/<b>ajax</b>-<b>php</b>/ - 22k - </span><a href="http://209.85.175.104/search?q=cache:8AvNW1WPqBMJ:www.cristiandarie.ro/ajax-php/+php+and+ajax&amp;hl=en&amp;ct=clnk&amp;cd=1&amp;gl=in" class="fl">Cached</a> - <a href="http://www.google.co.in/search?hl=en&amp;q=related:www.cristiandarie.ro/ajax-php/" class="fl">Similar pages</a></font></td>
</tr>
</table>
</div>
<div style="color:#000000;font-family:arial, sans-serif;margin:1em 0;" class="g">
<h2 class="r"><a href="http://www.modernmethod.com/sajax/" class="l"><b>Ajax</b> Toolkit for <b>PHP</b> - SAJAX - Simple <b>Ajax</b> Toolkit by ModernMethod</a></h2>
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td style="color:#000000;font-family:arial, sans-serif;width:34em;" class="j"><font size="-1">An open source XMLHTTPRequest toolkit with <b>PHP</b>, Perl, and Python backends.<span style="color:green;" class="a">www.modernmethod.com/s<b>ajax</b>/ - 11k - </span><a href="http://209.85.175.104/search?q=cache:XuxnE4MHgJYJ:www.modernmethod.com/sajax/+php+and+ajax&amp;hl=en&amp;ct=clnk&amp;cd=2&amp;gl=in" class="fl">Cached</a> - <a href="http://www.google.co.in/search?hl=en&amp;q=related:www.modernmethod.com/sajax/" class="fl">Similar pages</a></font></td>
</tr>
</table>
</div>
<div style="color:#000000;font-family:arial, sans-serif;margin:1em 0;" class="g">
<h2 class="r"><a href="http://www.phpit.net/article/ajax-php-without-xmlhttprequest/" class="l">PHPit - Totally <b>PHP</b> » <b>Ajax</b> &amp; <b>PHP</b> without using the XmlHttpRequest <b>&#8230;</b></a></h2>
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td style="color:#000000;font-family:arial, sans-serif;width:34em;" class="j"><font size="-1">A <b>PHP</b> file which looks something like this:. &lt;?<b>php</b>. $html = &#8216;&lt;b&gt;This content came from our<b>Ajax</b> Engine&lt;/b&gt;&#8217;; ?&gt; div = document.getElementById(&#8217;contentdiv&#8217;) <b>&#8230;</b><span style="color:green;" class="a">www.<b>php</b>it.net/article/<b>ajax</b>-<b>php</b>-without-xmlhttprequest/ - 21k - </span><a href="http://209.85.175.104/search?q=cache:8ma_lyG5fSsJ:www.phpit.net/article/ajax-php-without-xmlhttprequest/+php+and+ajax&amp;hl=en&amp;ct=clnk&amp;cd=3&amp;gl=in" class="fl">Cached</a> - <a href="http://www.google.co.in/search?hl=en&amp;q=related:www.phpit.net/article/ajax-php-without-xmlhttprequest/" class="fl">Similar pages</a></font></td>
</tr>
</table>
</div>
<div style="color:#000000;font-family:arial, sans-serif;margin:1em 0;" class="g">
<h2 class="r"><a href="http://www.phpbuilder.com/columns/kassemi20050606.php3" class="l">PHPBuilder.com, the best resource for <b>PHP</b> tutorials, templates <b>&#8230;</b></a></h2>
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td style="color:#000000;font-family:arial, sans-serif;width:34em;" class="j"><font size="-1">XMLHttpRequest and <b>AJAX</b> for <b>PHP</b> programmers. James Kassemi. Introduction:. Although the concept isn&#8217;t entirely new, XMLHttpRequest technology is implemented <b>&#8230;</b><span style="color:green;" class="a">www.<b>php</b>builder.com/columns/kassemi20050606.<b>php</b>3 - 63k - </span><a href="http://209.85.175.104/search?q=cache:k31YGP0nK0UJ:www.phpbuilder.com/columns/kassemi20050606.php3+php+and+ajax&amp;hl=en&amp;ct=clnk&amp;cd=4&amp;gl=in" class="fl">Cached</a> - <a href="http://www.google.co.in/search?hl=en&amp;q=related:www.phpbuilder.com/columns/kassemi20050606.php3" class="fl">Similar pages</a></font></td>
</tr>
</table>
</div>
<div style="color:#000000;font-family:arial, sans-serif;margin:1em 0;" class="g">
<h2 class="r"><a href="http://www.ajaxtopics.com/ajaxphp.html" class="l"><b>ajax php</b></a></h2>
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td style="color:#000000;font-family:arial, sans-serif;width:34em;" class="j"><font size="-1">This tutorial explains how to use <b>Ajax</b> with <b>PHP</b> and introduces the Simple <b>Ajax</b> Toolkit (Sajax), a tool written in <b>PHP</b> that lets you integrate server-side <b>&#8230;</b><span style="color:green;" class="a">www.<b>ajax</b>topics.com/<b>ajax</b><b>php</b>.html - 18k - </span><a href="http://209.85.175.104/search?q=cache:0Zag2LVu1l4J:www.ajaxtopics.com/ajaxphp.html+php+and+ajax&amp;hl=en&amp;ct=clnk&amp;cd=5&amp;gl=in" class="fl">Cached</a> - <a href="http://www.google.co.in/search?hl=en&amp;q=related:www.ajaxtopics.com/ajaxphp.html" class="fl">Similar pages</a></font></td>
</tr>
</table>
</div>
<div style="color:#000000;font-family:arial, sans-serif;margin:1em 0;" class="g">
<h2 class="r"><a href="http://www.johnwiseman.ca/blogging/tutorials/creating-a-mysql-connection-with-phpajax/" class="l">&#8221; » Creating a MySQL connection with <b>PHP</b>/<b>AJAX</b>&#8221; by John Wiseman</a></h2>
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td style="color:#000000;font-family:arial, sans-serif;width:34em;" class="j"><font size="-1">In this tutorial I will explain how to open a [tag]mysql[/tag] database connection using <b>PHP</b>and the all popular [tag]<b>AJAX</b>[/tag].<span style="color:green;" class="a">www.johnwiseman.ca/blogging/tutorials/ creating-a-mysql-connection-with-<b>php</b><b>ajax</b>/ - 61k -</span><a href="http://209.85.175.104/search?q=cache:TCsr8mX0jDcJ:www.johnwiseman.ca/blogging/tutorials/creating-a-mysql-connection-with-phpajax/+php+and+ajax&amp;hl=en&amp;ct=clnk&amp;cd=6&amp;gl=in" class="fl">Cached</a> - <a href="http://www.google.co.in/search?hl=en&amp;q=related:www.johnwiseman.ca/blogging/tutorials/creating-a-mysql-connection-with-phpajax/" class="fl">Similar pages</a></font></td>
</tr>
</table>
</div>
<div style="color:#000000;font-family:arial, sans-serif;margin:1em 0;" class="g">
<h2 class="r"><a href="http://www.ibm.com/developerworks/xml/library/os-php-rad1/" class="l">Developing <b>PHP</b> the <b>Ajax</b> way, Part 1: Getting started</a></h2>
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td style="color:#000000;font-family:arial, sans-serif;width:34em;" class="j"><font size="-1">Asynchronous JavaScript and XML (<b>Ajax</b>), is arguably the most popular new Web technology. In this two-part &#8216;Developing <b>PHP</b> the <b>Ajax</b> way&#8217; series, <b>&#8230;</b><span style="color:green;" class="a">www.ibm.com/developerworks/xml/library/os-<b>php</b>-rad1/ - 65k - </span><a href="http://209.85.175.104/search?q=cache:ac_zBo9iUg0J:www.ibm.com/developerworks/xml/library/os-php-rad1/+php+and+ajax&amp;hl=en&amp;ct=clnk&amp;cd=7&amp;gl=in" class="fl">Cached</a> - <a href="http://www.google.co.in/search?hl=en&amp;q=related:www.ibm.com/developerworks/xml/library/os-php-rad1/" class="fl">Similar pages</a></font></td>
</tr>
</table>
</div>
<div style="color:#000000;font-family:arial, sans-serif;margin:1em 0;" class="g">
<h2 class="r"><a href="http://www.smashingmagazine.com/2007/01/26/tutorials-round-up-ajax-css-javascript-php-mysql-and-more/" class="l">Tutorials Round-Up: <b>Ajax</b>, CSS, <b>PHP</b> and More | Tutorials | Smashing <b>&#8230;</b></a></h2>
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td style="color:#000000;font-family:arial, sans-serif;width:34em;" class="j"><font size="-1">Coding or designing a page, it&#8217;s always nice to have some basic templates you can quickly modify adapt your needs. However, at least once know, <b>&#8230;</b><span style="color:green;" class="a">www.smashingmagazine.com/2007/01/26/ tutorials-round-up-<b>ajax</b>-css-javascript-<b>php</b>-mysql-and-more/ - 138k - </span><a href="http://209.85.175.104/search?q=cache:JNC1prtduv8J:www.smashingmagazine.com/2007/01/26/tutorials-round-up-ajax-css-javascript-php-mysql-and-more/+php+and+ajax&amp;hl=en&amp;ct=clnk&amp;cd=8&amp;gl=in" class="fl">Cached</a> - <a href="http://www.google.co.in/search?hl=en&amp;q=related:www.smashingmagazine.com/2007/01/26/tutorials-round-up-ajax-css-javascript-php-mysql-and-more/" class="fl">Similar pages</a></font></td>
</tr>
</table>
</div>
<div style="color:#000000;font-family:arial, sans-serif;margin:1em 0;" class="g">
<h2 class="r"><a href="http://www.w3schools.com/php/php_ajax_database.asp" class="l"><b>PHP and AJAX</b> MySQL Database Example</a></h2>
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td style="color:#000000;font-family:arial, sans-serif;width:34em;" class="j"><font size="-1">The stateChanged() and GetXmlHttpObject functions are the same as in the <b>PHP AJAX</b>Suggest chapter, you can go to there for an explanation of those. <b>&#8230;</b><span style="color:green;" class="a">www.w3schools.com/<b>php</b>/<b>php</b>_<b>ajax</b>_database.asp - 31k - </span><a href="http://209.85.175.104/search?q=cache:2xSbwGzu4AUJ:www.w3schools.com/php/php_ajax_database.asp+php+and+ajax&amp;hl=en&amp;ct=clnk&amp;cd=9&amp;gl=in" class="fl">Cached</a> - <a href="http://www.google.co.in/search?hl=en&amp;q=related:www.w3schools.com/php/php_ajax_database.asp" class="fl">Similar pages</a></font></td>
</tr>
</table>
</div>
<div style="color:#000000;font-family:arial, sans-serif;margin:1em 0;" class="g">
<h2 class="r"><a href="http://ajax.zervaas.com.au/" class="l">AjaxAC - Open-source <b>PHP</b> framework for creating <b>AJAX</b> / JavaScript <b>&#8230;</b></a></h2>
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td style="color:#000000;font-family:arial, sans-serif;width:34em;" class="j"><font size="-1">Object oriented Web-application framework offering to build <b>Ajax</b> applications. [Open source, Apache licence]<span style="color:green;" class="a"><b>ajax</b>.zervaas.com.au/ - 12k - </span><a href="http://209.85.175.104/search?q=cache:MtIAE7a9seIJ:ajax.zervaas.com.au/+php+and+ajax&amp;hl=en&amp;ct=clnk&amp;cd=10&amp;gl=in" class="fl">Cached</a> - <a href="http://www.google.co.in/search?hl=en&amp;q=related:ajax.zervaas.com.au/" class="fl">Similar pages</a></font></td>
</tr>
</table>
</div>
<p></span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/openstech.wordpress.com/42/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/openstech.wordpress.com/42/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/openstech.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/openstech.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/openstech.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/openstech.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/openstech.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/openstech.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/openstech.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/openstech.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/openstech.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/openstech.wordpress.com/42/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=openstech.wordpress.com&blog=822521&post=42&subd=openstech&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://openstech.wordpress.com/2008/01/24/php-ajax-tutorial/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Top 10 Search Engines &#38; Directories</title>
		<link>http://openstech.wordpress.com/2008/01/23/top-10-search-engines-directories/</link>
		<comments>http://openstech.wordpress.com/2008/01/23/top-10-search-engines-directories/#comments</comments>
		<pubDate>Wed, 23 Jan 2008 12:06:28 +0000</pubDate>
		<dc:creator>openstech</dc:creator>
		
		<category><![CDATA[Web Services]]></category>

		<category><![CDATA[design pattern]]></category>

		<category><![CDATA[framework]]></category>

		<category><![CDATA[linux apache mysql php development]]></category>

		<category><![CDATA[server]]></category>

		<category><![CDATA[web development in php]]></category>

		<category><![CDATA[Top 10 Search Engines &amp; Directories]]></category>

		<guid isPermaLink="false">http://openstech.wordpress.com/2008/01/23/top-10-search-engines-directories/</guid>
		<description><![CDATA[Top 10 Search Engines &#38; Directories


Mem00ry.com
A9.com
Mamma.com
Ujiko.com
Business.com
Completeplanet.com
Canada.com
Ithaki.net
Canoe.ca
AOL search


       ]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><h1>Top 10 Search Engines &amp; Directories</h1>
<div>
<ul>
<li><a href="http://netforbeginners.about.com/od/searchenginehandbook/a/www.memOOry.com">Mem00ry.com</a></li>
<li><a href="http://clk.about.com/?zi=1/XJ&amp;sdn=netforbeginners&amp;cdn=compute&amp;tm=46&amp;gps=52_280_1020_611&amp;f=20&amp;su=p284.8.150.ip_&amp;tt=2&amp;bt=1&amp;bts=1&amp;zu=http%3A//www.a9.com/" target="_new386">A9.com</a></li>
<li><a href="http://www.mamma.com/">Mamma.com</a></li>
<li><a href="http://www.ujiko.com/">Ujiko.com</a></li>
<li><a href="http://www.business.com/">Business.com</a></li>
<li><a href="http://www.completeplanet.com/">Completeplanet.com</a></li>
<li><a href="http://www.canada.com/">Canada.com</a></li>
<li><a href="http://www.ithaki.net/">Ithaki.net</a></li>
<li><a href="http://www.canoe.ca/">Canoe.ca</a></li>
<li><a href="http://search.aol.com/">AOL search</a></li>
</ul>
</div>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/openstech.wordpress.com/40/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/openstech.wordpress.com/40/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/openstech.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/openstech.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/openstech.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/openstech.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/openstech.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/openstech.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/openstech.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/openstech.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/openstech.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/openstech.wordpress.com/40/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=openstech.wordpress.com&blog=822521&post=40&subd=openstech&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://openstech.wordpress.com/2008/01/23/top-10-search-engines-directories/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PHP with Flex</title>
		<link>http://openstech.wordpress.com/2008/01/23/php-flex-development/</link>
		<comments>http://openstech.wordpress.com/2008/01/23/php-flex-development/#comments</comments>
		<pubDate>Wed, 23 Jan 2008 12:02:35 +0000</pubDate>
		<dc:creator>openstech</dc:creator>
		
		<category><![CDATA[design pattern]]></category>

		<category><![CDATA[framework]]></category>

		<category><![CDATA[linux apache mysql php development]]></category>

		<category><![CDATA[server]]></category>

		<category><![CDATA[web development in php]]></category>

		<category><![CDATA[flex]]></category>

		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://openstech.wordpress.com/2008/01/23/php-flex-development/</guid>
		<description><![CDATA[To make sure we don&#8217;t get too stuck in a rut with our tutorial posts I decided to branch out a little bit and talk about Adobe Flex 2.0. I recently spent a lot of time figuring out how to do this. Basically what I am going to go over here is how to use [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><span style="color:#333333;font-family:'Lucida Sans Unicode';font-size:13px;line-height:normal;" class="Apple-style-span">To make sure we don&#8217;t get too stuck in a rut with our tutorial posts I decided to branch out a little bit and talk about Adobe Flex 2.0. I recently spent a lot of time figuring out how to do this. Basically what I am going to go over here is how to use php and json to send data to your flex application, and then how to use that data in Flex. </p>
<table style="margin:0;padding:0;">
<tr style="margin:0;padding:0;">
<td style="margin:0;padding:0;" valign="top"></td>
<td style="margin:0;padding:0;" valign="top">This is actually a lot easier than it seems because PHP and Flex both have functions to handle json data transmissions. For Flex, the one thing you need to make sure is that you have the corelib from Adobe in order to use the JSON functions - this can be found at<a href="http://code.google.com/p/as3corelib/">Adobe Flex coreLib</a>. This can be added to a project in Flex builder by going into the properties of a project then to &#8220;Flex Build Path&#8221; and adding the .swc to the library path. For PHP, if you have a version greater than 5.2, you are all set. If not, you can either upgrade, or install the <a href="http://www.aurore.net/projects/php-json/">php-json</a> extension.</td>
</tr>
<tr style="margin:0;padding:0;"></tr>
</table>
<p>Below is the final product of what we are going to create today - to view the Flex source right click the flash movie and select &#8216;View Source&#8217;. Pressing each of the buttons sends a request to our php code for data. If you click the &#8220;Get Employee&#8221; button we just get a single person back, and if you click &#8220;Get Manager&#8221; we get a manager back and his employees (which is an array of people). This is a very simple little app, and not particularly useful, but it does have everything needed to show how to communicate between php and flex using json.</p>
<p>The first thing we are going to go over is the php code. The php code creates a few classes for the objects that we will pass to our flex application. We also have code to check if a GET variable has been set, we use this to tell the php code what we are requesting. If the variable &#8220;getPerson&#8221; is set we create a person and echo it (after we encode it into json) to send it to the Flex app. Ideally your data would be stored in a database, but for simplicity, we&#8217;re just creating Person objects directly in the php code.</p>
<div style="background-color:#f7fbf7;font-size:13px;font-family:'Courier New', Courier, monospace;width:520px;border-color:#303130;border-style:solid;border-width:1px;margin:0;padding:3px 3px 10px 8px;" class="syntax_hilite">
<div style="margin:0;padding:0;">
<div style="margin:0;padding:0;" class="php"><span style="color:#000000;font-weight:bold;margin:0;padding:0;">&lt;?php</span></p>
<p><span style="color:#000000;font-weight:bold;margin:0;padding:0;">class</span> Person<br /><span style="color:#006600;font-weight:bold;margin:0;padding:0;">{</span><br />    public <span style="color:#0000ff;margin:0;padding:0;">$first_name</span>;<br />    public <span style="color:#0000ff;margin:0;padding:0;">$last_name</span>;<br />    public <span style="color:#0000ff;margin:0;padding:0;">$email</span>;<br />    public <span style="color:#0000ff;margin:0;padding:0;">$address</span>;<br /><span style="color:#006600;font-weight:bold;margin:0;padding:0;">}</span></p>
<p><span style="color:#000000;font-weight:bold;margin:0;padding:0;">class</span> Manager extends Person<br /><span style="color:#006600;font-weight:bold;margin:0;padding:0;">{</span><br />    public <span style="color:#0000ff;margin:0;padding:0;">$title</span>;<br />    public <span style="color:#0000ff;margin:0;padding:0;">$employees</span>;<br /><span style="color:#006600;font-weight:bold;margin:0;padding:0;">}</span></p>
<p><span style="color:#616100;margin:0;padding:0;">if</span><span style="color:#006600;font-weight:bold;margin:0;padding:0;">(</span><span style="color:#000066;margin:0;padding:0;">isset</span><span style="color:#006600;font-weight:bold;margin:0;padding:0;">(</span><span style="color:#0000ff;margin:0;padding:0;">$_GET</span><span style="color:#006600;font-weight:bold;margin:0;padding:0;">[</span><span style="color:#ff0000;margin:0;padding:0;">'getPerson'</span><span style="color:#006600;font-weight:bold;margin:0;padding:0;">]</span><span style="color:#006600;font-weight:bold;margin:0;padding:0;">)</span><span style="color:#006600;font-weight:bold;margin:0;padding:0;">)</span><br /><span style="color:#006600;font-weight:bold;margin:0;padding:0;">{</span><br />    <span style="color:#0000ff;margin:0;padding:0;">$p</span> = <span style="color:#000000;font-weight:bold;margin:0;padding:0;">new</span> Person<span style="color:#006600;font-weight:bold;margin:0;padding:0;">(</span><span style="color:#006600;font-weight:bold;margin:0;padding:0;">)</span>;<br />    <span style="color:#0000ff;margin:0;padding:0;">$p</span>-&gt;<span style="color:#006600;margin:0;padding:0;">first_name</span> = <span style="color:#ff0000;margin:0;padding:0;">&#8216;Chuck&#8217;</span>;<br />    <span style="color:#0000ff;margin:0;padding:0;">$p</span>-&gt;<span style="color:#006600;margin:0;padding:0;">last_name</span> = <span style="color:#ff0000;margin:0;padding:0;">&#8216;Killer&#8217;</span>;<br />    <span style="color:#0000ff;margin:0;padding:0;">$p</span>-&gt;<span style="color:#006600;margin:0;padding:0;">email</span> = <span style="color:#ff0000;margin:0;padding:0;">&#8216;fake@email.com&#8217;</span>;<br />    <span style="color:#0000ff;margin:0;padding:0;">$p</span>-&gt;<span style="color:#006600;margin:0;padding:0;">address</span> = <span style="color:#ff0000;margin:0;padding:0;">&#8216;5555 Some Street City, State 52423&#8242;</span>;<br />    <span style="color:#000066;margin:0;padding:0;">echo</span> json_encode<span style="color:#006600;font-weight:bold;margin:0;padding:0;">(</span><span style="color:#0000ff;margin:0;padding:0;">$p</span><span style="color:#006600;font-weight:bold;margin:0;padding:0;">)</span>;<br /><span style="color:#006600;font-weight:bold;margin:0;padding:0;">}</span></p>
<p><span style="color:#616100;margin:0;padding:0;">if</span><span style="color:#006600;font-weight:bold;margin:0;padding:0;">(</span><span style="color:#000066;margin:0;padding:0;">isset</span><span style="color:#006600;font-weight:bold;margin:0;padding:0;">(</span><span style="color:#0000ff;margin:0;padding:0;">$_GET</span><span style="color:#006600;font-weight:bold;margin:0;padding:0;">[</span><span style="color:#ff0000;margin:0;padding:0;">'getManager'</span><span style="color:#006600;font-weight:bold;margin:0;padding:0;">]</span><span style="color:#006600;font-weight:bold;margin:0;padding:0;">)</span><span style="color:#006600;font-weight:bold;margin:0;padding:0;">)</span><br /><span style="color:#006600;font-weight:bold;margin:0;padding:0;">{</span><br />    <span style="color:#0000ff;margin:0;padding:0;">$p1</span> = <span style="color:#000000;font-weight:bold;margin:0;padding:0;">new</span> Person<span style="color:#006600;font-weight:bold;margin:0;padding:0;">(</span><span style="color:#006600;font-weight:bold;margin:0;padding:0;">)</span>;<br />    <span style="color:#0000ff;margin:0;padding:0;">$p1</span>-&gt;<span style="color:#006600;margin:0;padding:0;">first_name</span> = <span style="color:#ff0000;margin:0;padding:0;">&#8216;Joe&#8217;</span>;<br />    <span style="color:#0000ff;margin:0;padding:0;">$p1</span>-&gt;<span style="color:#006600;margin:0;padding:0;">last_name</span> = <span style="color:#ff0000;margin:0;padding:0;">&#8216;Schmoe&#8217;</span>;<br />    <span style="color:#0000ff;margin:0;padding:0;">$p1</span>-&gt;<span style="color:#006600;margin:0;padding:0;">email</span> = <span style="color:#ff0000;margin:0;padding:0;">&#8216;joe.schmoe@email.com&#8217;</span>;<br />    <span style="color:#0000ff;margin:0;padding:0;">$p1</span>-&gt;<span style="color:#006600;margin:0;padding:0;">address</span> = <span style="color:#ff0000;margin:0;padding:0;">&#8216;5424 Some Street City, State 12314&#8242;</span>;<br />    <span style="color:#0000ff;margin:0;padding:0;">$p2</span> = <span style="color:#000000;font-weight:bold;margin:0;padding:0;">new</span> Person<span style="color:#006600;font-weight:bold;margin:0;padding:0;">(</span><span style="color:#006600;font-weight:bold;margin:0;padding:0;">)</span>;<br />    <span style="color:#0000ff;margin:0;padding:0;">$p2</span>-&gt;<span style="color:#006600;margin:0;padding:0;">first_name</span> = <span style="color:#ff0000;margin:0;padding:0;">&#8216;Bob&#8217;</span>;<br />    <span style="color:#0000ff;margin:0;padding:0;">$p2</span>-&gt;<span style="color:#006600;margin:0;padding:0;">last_name</span> = <span style="color:#ff0000;margin:0;padding:0;">&#8216;Hacker&#8217;</span>;<br />    <span style="color:#0000ff;margin:0;padding:0;">$p2</span>-&gt;<span style="color:#006600;margin:0;padding:0;">email</span> = <span style="color:#ff0000;margin:0;padding:0;">&#8216;bob.hacker@email.com&#8217;</span>;<br />    <span style="color:#0000ff;margin:0;padding:0;">$p2</span>-&gt;<span style="color:#006600;margin:0;padding:0;">address</span> = <span style="color:#ff0000;margin:0;padding:0;">&#8216;1414 Some Street City, State 12412&#8242;</span>;<br />    <span style="color:#0000ff;margin:0;padding:0;">$p3</span> = <span style="color:#000000;font-weight:bold;margin:0;padding:0;">new</span> Person<span style="color:#006600;font-weight:bold;margin:0;padding:0;">(</span><span style="color:#006600;font-weight:bold;margin:0;padding:0;">)</span>;<br />    <span style="color:#0000ff;margin:0;padding:0;">$p3</span>-&gt;<span style="color:#006600;margin:0;padding:0;">first_name</span> = <span style="color:#ff0000;margin:0;padding:0;">&#8216;Kevin&#8217;</span>;<br />    <span style="color:#0000ff;margin:0;padding:0;">$p3</span>-&gt;<span style="color:#006600;margin:0;padding:0;">last_name</span> = <span style="color:#ff0000;margin:0;padding:0;">&#8216;Putvin&#8217;</span>;<br />    <span style="color:#0000ff;margin:0;padding:0;">$p3</span>-&gt;<span style="color:#006600;margin:0;padding:0;">email</span> = <span style="color:#ff0000;margin:0;padding:0;">&#8216;kevin.putvin@email.com&#8217;</span>;<br />    <span style="color:#0000ff;margin:0;padding:0;">$p3</span>-&gt;<span style="color:#006600;margin:0;padding:0;">address</span> = <span style="color:#ff0000;margin:0;padding:0;">&#8216;6123 Some Street City, State 41241&#8242;</span>;    <br />    <span style="color:#0000ff;margin:0;padding:0;">$m</span> = <span style="color:#000000;font-weight:bold;margin:0;padding:0;">new</span> Manager<span style="color:#006600;font-weight:bold;margin:0;padding:0;">(</span><span style="color:#006600;font-weight:bold;margin:0;padding:0;">)</span>;<br />    <span style="color:#0000ff;margin:0;padding:0;">$m</span>-&gt;<span style="color:#006600;margin:0;padding:0;">first_name</span> = <span style="color:#ff0000;margin:0;padding:0;">&#8216;Manager&#8217;</span>;<br />    <span style="color:#0000ff;margin:0;padding:0;">$m</span>-&gt;<span style="color:#006600;margin:0;padding:0;">last_name</span> = <span style="color:#ff0000;margin:0;padding:0;">&#8216;Dude&#8217;</span>;<br />    <span style="color:#0000ff;margin:0;padding:0;">$m</span>-&gt;<span style="color:#006600;margin:0;padding:0;">email</span> = <span style="color:#ff0000;margin:0;padding:0;">&#8216;manager.dude@email.com&#8217;</span>;<br />    <span style="color:#0000ff;margin:0;padding:0;">$m</span>-&gt;<span style="color:#006600;margin:0;padding:0;">address</span> = <span style="color:#ff0000;margin:0;padding:0;">&#8216;5534 Some Other Street City, State 91230&#8242;</span>;<br />    <span style="color:#0000ff;margin:0;padding:0;">$m</span>-&gt;<span style="color:#006600;margin:0;padding:0;">title</span> = <span style="color:#ff0000;margin:0;padding:0;">&#8216;Office Manager&#8217;</span>;<br />    <span style="color:#0000ff;margin:0;padding:0;">$m</span>-&gt;<span style="color:#006600;margin:0;padding:0;">employees</span> = <span style="color:#000066;margin:0;padding:0;">array</span><span style="color:#006600;font-weight:bold;margin:0;padding:0;">(</span><span style="color:#0000ff;margin:0;padding:0;">$p1</span>, <span style="color:#0000ff;margin:0;padding:0;">$p2</span>, <span style="color:#0000ff;margin:0;padding:0;">$p3</span><span style="color:#006600;font-weight:bold;margin:0;padding:0;">)</span>;<br />    <span style="color:#000066;margin:0;padding:0;">echo</span> json_encode<span style="color:#006600;font-weight:bold;margin:0;padding:0;">(</span><span style="color:#0000ff;margin:0;padding:0;">$m</span><span style="color:#006600;font-weight:bold;margin:0;padding:0;">)</span>;<br />    <br /><span style="color:#006600;font-weight:bold;margin:0;padding:0;">}</span><br /><span style="color:#000000;font-weight:bold;margin:0;padding:0;">?&gt;</span></div>
</div>
</div>
<p>The next thing to do is setup the basic application for flex. The following code is the simplest flex application. This sets up an application with specified height and width and also adds the view source option to the movie, with the source file specified by &#8220;viewSourceURL&#8221;.</p>
<div style="background-color:#f7fbf7;font-size:13px;font-family:'Courier New', Courier, monospace;width:520px;border-color:#303130;border-style:solid;border-width:1px;margin:0;padding:3px 3px 10px 8px;" class="syntax_hilite">
<div style="margin:0;padding:0;">
<div style="margin:0;padding:0;" class="mxml"><span style="color:#333333;margin:0;padding:0;">&lt;?<span style="color:#0066cc;margin:0;padding:0;">xml</span> <span style="color:#0066cc;margin:0;padding:0;">version</span>=<span style="color:#009900;margin:0;padding:0;">&#8220;1.0&#8243;</span> encoding=<span style="color:#009900;margin:0;padding:0;">&#8220;utf-8&#8243;</span>?&gt;</span><br /><span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:Application</span> xmlns:mx=<span style="color:#009900;margin:0;padding:0;">&#8220;http://www.adobe.com/2006/mxml&#8221;</span> <br />    layout=<span style="color:#009900;margin:0;padding:0;">&#8220;absolute&#8221;</span> <span style="color:#0066cc;margin:0;padding:0;">width</span>=<span style="color:#009900;margin:0;padding:0;">&#8220;500&#8243;</span> <span style="color:#0066cc;margin:0;padding:0;">height</span>=<span style="color:#009900;margin:0;padding:0;">&#8220;410&#8243;</span> <br />    viewSourceURL=<span style="color:#009900;margin:0;padding:0;">&#8220;../files/JSONTutorial.mxml&#8221;</span>&gt;</span><br /><span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;/mx:Application&gt;</span></span></div>
</div>
</div>
<p>The next thing to do is setup the user interface. This is pretty standard flex mxml, nothing should look out of place. The user interface has a couple of text fields for the data we get back from the php code, a datagrid, and two buttons. This is all setup on a panel. The one important thing to observe is that the dataField properties on the DataGridColumns, these names correspond to the variables from the objects in the php code.This code goes inside the Application block.</p>
<div style="background-color:#f7fbf7;font-size:13px;font-family:'Courier New', Courier, monospace;width:520px;border-color:#303130;border-style:solid;border-width:1px;margin:0;padding:3px 3px 10px 8px;" class="syntax_hilite">
<div style="margin:0;padding:0;">
<div style="margin:0;padding:0;" class="mxml"><span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:Panel</span> x=<span style="color:#009900;margin:0;padding:0;">&#8220;0&#8243;</span> y=<span style="color:#009900;margin:0;padding:0;">&#8220;0&#8243;</span> <span style="color:#0066cc;margin:0;padding:0;">width</span>=<span style="color:#009900;margin:0;padding:0;">&#8220;500&#8243;</span> <span style="color:#0066cc;margin:0;padding:0;">height</span>=<span style="color:#009900;margin:0;padding:0;">&#8220;410&#8243;</span> layout=<span style="color:#009900;margin:0;padding:0;">&#8220;absolute&#8221;</span> <br />     title=<span style="color:#009900;margin:0;padding:0;">&#8220;Simple JSON Example&#8221;</span>&gt;</span><br />    <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:DataGrid</span> x=<span style="color:#009900;margin:0;padding:0;">&#8220;10&#8243;</span> y=<span style="color:#009900;margin:0;padding:0;">&#8220;174&#8243;</span> <span style="color:#0066cc;margin:0;padding:0;">width</span>=<span style="color:#009900;margin:0;padding:0;">&#8220;460&#8243;</span> <span style="color:#0066cc;margin:0;padding:0;">enabled</span>=<span style="color:#009900;margin:0;padding:0;">&#8220;true&#8221;</span> <br />             editable=<span style="color:#009900;margin:0;padding:0;">&#8220;false&#8221;</span> id=<span style="color:#009900;margin:0;padding:0;">&#8220;dgEmployees&#8221;</span>&gt;</span><br />        <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:columns&gt;</span></span><br />            <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:DataGridColumn</span> headerText=<span style="color:#009900;margin:0;padding:0;">&#8220;First Name&#8221;</span> <br />                            dataField=<span style="color:#009900;margin:0;padding:0;">&#8220;first_name&#8221;</span>/&gt;</span><br />            <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:DataGridColumn</span> headerText=<span style="color:#009900;margin:0;padding:0;">&#8220;Last Name&#8221;</span> <br />                            dataField=<span style="color:#009900;margin:0;padding:0;">&#8220;last_name&#8221;</span>/&gt;</span><br />            <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:DataGridColumn</span> headerText=<span style="color:#009900;margin:0;padding:0;">&#8220;Email&#8221;</span> <br />                            dataField=<span style="color:#009900;margin:0;padding:0;">&#8220;email&#8221;</span>/&gt;</span><br />            <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:DataGridColumn</span> headerText=<span style="color:#009900;margin:0;padding:0;">&#8220;Address&#8221;</span> <br />                            dataField=<span style="color:#009900;margin:0;padding:0;">&#8220;address&#8221;</span>/&gt;</span><br />        <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;/mx:columns&gt;</span></span><br />    <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;/mx:DataGrid&gt;</span></span><br />    <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:Button</span> x=<span style="color:#009900;margin:0;padding:0;">&#8220;116&#8243;</span> y=<span style="color:#009900;margin:0;padding:0;">&#8220;338&#8243;</span> label=<span style="color:#009900;margin:0;padding:0;">&#8220;Get Employee&#8221;</span><br />            id=<span style="color:#009900;margin:0;padding:0;">&#8220;getPerson&#8221;</span> /&gt;</span><br />    <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:Button</span> x=<span style="color:#009900;margin:0;padding:0;">&#8220;266&#8243;</span> y=<span style="color:#009900;margin:0;padding:0;">&#8220;338&#8243;</span> label=<span style="color:#009900;margin:0;padding:0;">&#8220;Get Manager&#8221;</span> <br />            id=<span style="color:#009900;margin:0;padding:0;">&#8220;getManager&#8221;</span> /&gt;</span><br />    <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:Label</span> x=<span style="color:#009900;margin:0;padding:0;">&#8220;131&#8243;</span> y=<span style="color:#009900;margin:0;padding:0;">&#8220;12&#8243;</span> <span style="color:#0066cc;margin:0;padding:0;">text</span>=<span style="color:#009900;margin:0;padding:0;">&#8220;Name&#8221;</span>/&gt;</span><br />    <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:TextInput</span> x=<span style="color:#009900;margin:0;padding:0;">&#8220;189&#8243;</span> y=<span style="color:#009900;margin:0;padding:0;">&#8220;10&#8243;</span> id=<span style="color:#009900;margin:0;padding:0;">&#8220;txtName&#8221;</span> editable=<span style="color:#009900;margin:0;padding:0;">&#8220;false&#8221;</span>/&gt;</span><br />    <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:Label</span> x=<span style="color:#009900;margin:0;padding:0;">&#8220;131&#8243;</span> y=<span style="color:#009900;margin:0;padding:0;">&#8220;42&#8243;</span> <span style="color:#0066cc;margin:0;padding:0;">text</span>=<span style="color:#009900;margin:0;padding:0;">&#8220;E-mail&#8221;</span>/&gt;</span><br />    <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:TextInput</span> x=<span style="color:#009900;margin:0;padding:0;">&#8220;189&#8243;</span> y=<span style="color:#009900;margin:0;padding:0;">&#8220;40&#8243;</span> id=<span style="color:#009900;margin:0;padding:0;">&#8220;txtEmail&#8221;</span> editable=<span style="color:#009900;margin:0;padding:0;">&#8220;false&#8221;</span>/&gt;</span><br />    <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:Label</span> x=<span style="color:#009900;margin:0;padding:0;">&#8220;131&#8243;</span> y=<span style="color:#009900;margin:0;padding:0;">&#8220;68&#8243;</span> <span style="color:#0066cc;margin:0;padding:0;">text</span>=<span style="color:#009900;margin:0;padding:0;">&#8220;Address&#8221;</span>/&gt;</span><br />    <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:TextInput</span> x=<span style="color:#009900;margin:0;padding:0;">&#8220;189&#8243;</span> y=<span style="color:#009900;margin:0;padding:0;">&#8220;66&#8243;</span> id=<span style="color:#009900;margin:0;padding:0;">&#8220;txtAddress&#8221;</span> <br />            editable=<span style="color:#009900;margin:0;padding:0;">&#8220;false&#8221;</span>/&gt;</span><br />    <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:Label</span> x=<span style="color:#009900;margin:0;padding:0;">&#8220;131&#8243;</span> y=<span style="color:#009900;margin:0;padding:0;">&#8220;94&#8243;</span> <span style="color:#0066cc;margin:0;padding:0;">text</span>=<span style="color:#009900;margin:0;padding:0;">&#8220;Title&#8221;</span>/&gt;</span><br />    <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:TextInput</span> x=<span style="color:#009900;margin:0;padding:0;">&#8220;189&#8243;</span> y=<span style="color:#009900;margin:0;padding:0;">&#8220;92&#8243;</span> id=<span style="color:#009900;margin:0;padding:0;">&#8220;txtTitle&#8221;</span> editable=<span style="color:#009900;margin:0;padding:0;">&#8220;false&#8221;</span>/&gt;</span><br />    <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:Label</span> x=<span style="color:#009900;margin:0;padding:0;">&#8220;131&#8243;</span> y=<span style="color:#009900;margin:0;padding:0;">&#8220;122&#8243;</span> <span style="color:#0066cc;margin:0;padding:0;">text</span>=<span style="color:#009900;margin:0;padding:0;">&#8220;Has Employees&#8221;</span>/&gt;</span><br />    <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:TextInput</span> x=<span style="color:#009900;margin:0;padding:0;">&#8220;229&#8243;</span> y=<span style="color:#009900;margin:0;padding:0;">&#8220;120&#8243;</span> <span style="color:#0066cc;margin:0;padding:0;">width</span>=<span style="color:#009900;margin:0;padding:0;">&#8220;120&#8243;</span> editable=<span style="color:#009900;margin:0;padding:0;">&#8220;false&#8221;</span> <br />             id=<span style="color:#009900;margin:0;padding:0;">&#8220;txtEmployees&#8221;</span> <span style="color:#0066cc;margin:0;padding:0;">text</span>=<span style="color:#009900;margin:0;padding:0;">&#8220;No&#8221;</span>/&gt;</span><br />    <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:Label</span> x=<span style="color:#009900;margin:0;padding:0;">&#8220;10&#8243;</span> y=<span style="color:#009900;margin:0;padding:0;">&#8220;148&#8243;</span> <span style="color:#0066cc;margin:0;padding:0;">text</span>=<span style="color:#009900;margin:0;padding:0;">&#8220;Employees:&#8221;</span>/&gt;</span><br /><span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;/mx:Panel&gt;</span></span></div>
</div>
</div>
<p>Now that our user interface is setup and ready to go we can add our http services to go ask for the data from our php code. Now in flex you can setup all kinds of different services. We are just going to setup a simple http request service that sets a GET variable and tells the service that we want to run a function once we get the results. As you can see in the code below we send both services out to the same php page, which is the one we made earlier. Also each one sets one GET variable, which is done inside the mx:request block. Lastly, the result is an event which we hook to, to process the results of the request (our JSON data). This code goes at the very beginning of the file right after the Application opening element.</p>
<div style="background-color:#f7fbf7;font-size:13px;font-family:'Courier New', Courier, monospace;width:520px;border-color:#303130;border-style:solid;border-width:1px;margin:0;padding:3px 3px 10px 8px;" class="syntax_hilite">
<div style="margin:0;padding:0;">
<div style="margin:0;padding:0;" class="mxml"><span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:HTTPService</span> id=<span style="color:#009900;margin:0;padding:0;">&#8220;personRequest&#8221;</span> <br />        <span style="color:#0066cc;margin:0;padding:0;">url</span>=<span style="color:#009900;margin:0;padding:0;">&#8220;../files/json_tutorial.php&#8221;</span> <br />        useProxy=<span style="color:#009900;margin:0;padding:0;">&#8220;false&#8221;</span> method=<span style="color:#009900;margin:0;padding:0;">&#8220;GET&#8221;</span> resultFormat=<span style="color:#009900;margin:0;padding:0;">&#8220;text&#8221;</span> <br />        result=<span style="color:#009900;margin:0;padding:0;">&#8220;personJSON(event)&#8221;</span>&gt;</span><br />    <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:request</span> xmlns=<span style="color:#009900;margin:0;padding:0;">&#8220;&#8221;</span>&gt;</span><br />        <span style="color:#333333;margin:0;padding:0;">&lt;getPerson&gt;</span>&#8220;true&#8221;<span style="color:#333333;margin:0;padding:0;">&lt;/getPerson&gt;</span><br />    <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;/mx:request&gt;</span></span><br /><span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;/mx:HTTPService&gt;</span></span><br /><span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:HTTPService</span> id=<span style="color:#009900;margin:0;padding:0;">&#8220;managerRequest&#8221;</span> <br />        <span style="color:#0066cc;margin:0;padding:0;">url</span>=<span style="color:#009900;margin:0;padding:0;">&#8220;../files/json_tutorial.php&#8221;</span> <br />        useProxy=<span style="color:#009900;margin:0;padding:0;">&#8220;false&#8221;</span> method=<span style="color:#009900;margin:0;padding:0;">&#8220;GET&#8221;</span> resultFormat=<span style="color:#009900;margin:0;padding:0;">&#8220;text&#8221;</span> <br />        result=<span style="color:#009900;margin:0;padding:0;">&#8220;managerJSON(event)&#8221;</span>&gt;</span><br />    <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:request</span> xmlns=<span style="color:#009900;margin:0;padding:0;">&#8220;&#8221;</span>&gt;</span><br />        <span style="color:#333333;margin:0;padding:0;">&lt;getManager&gt;</span>&#8220;true&#8221;<span style="color:#333333;margin:0;padding:0;">&lt;/getManager&gt;</span><br />    <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;/mx:request&gt;</span></span><br /><span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;/mx:HTTPService&gt;</span></span></div>
</div>
</div>
<p>Ok, now let&#8217;s get into the actual JSON decoding, which is really simple. So at this point if your using flex builder you will be getting a error message about an undefined method for personJSON(event) and managerJSON(event). We are going to solve that right now. First things first - lets just put in the method signatures so the application can build and run. The way this is done is by inputting a script tag and adding our actionscript functions inside there. You&#8217;ll notice we added two import statements to import our JSON serialization functions and use the result event. This code will go right above the http services we just setup and below the Application opening element.</p>
<div style="background-color:#f7fbf7;font-size:13px;font-family:'Courier New', Courier, monospace;width:520px;border-color:#303130;border-style:solid;border-width:1px;margin:0;padding:3px 3px 10px 8px;" class="syntax_hilite">
<div style="margin:0;padding:0;">
<div style="margin:0;padding:0;" class="mxml"><span style="color:#000000;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:Script&gt;</span><br />    &lt;!<span style="color:#0000ff;margin:0;padding:0;">[</span>CDATA<span style="color:#0000ff;margin:0;padding:0;">[</span><br />    <span style="color:#0066cc;margin:0;padding:0;">import</span> mx.<span style="margin:0;padding:0;">rpc</span>.<span style="margin:0;padding:0;">events</span>.<span style="margin:0;padding:0;">ResultEvent</span>;<br />    <span style="color:#0066cc;margin:0;padding:0;">import</span> com.<span style="margin:0;padding:0;">adobe</span>.<span style="margin:0;padding:0;">serialization</span>.<span style="margin:0;padding:0;">json</span>.<span style="margin:0;padding:0;">JSON</span>;<br />    <br />    <span style="color:#0066cc;margin:0;padding:0;">private</span> <span style="color:#000000;font-weight:bold;margin:0;padding:0;">function</span> personJSON<span style="color:#0000ff;margin:0;padding:0;">(</span>event:ResultEvent<span style="color:#0000ff;margin:0;padding:0;">)</span>:<span style="color:#0066cc;margin:0;padding:0;">void</span><br />    <span style="color:#0000ff;margin:0;padding:0;">{</span><br />    <span style="color:#0000ff;margin:0;padding:0;">}</span><br />    <br />    <span style="color:#0066cc;margin:0;padding:0;">private</span> <span style="color:#000000;font-weight:bold;margin:0;padding:0;">function</span> managerJSON<span style="color:#0000ff;margin:0;padding:0;">(</span>event:ResultEvent<span style="color:#0000ff;margin:0;padding:0;">)</span>:<span style="color:#0066cc;margin:0;padding:0;">void</span><br />    <span style="color:#0000ff;margin:0;padding:0;">{</span><br />    <span style="color:#0000ff;margin:0;padding:0;">}</span><br />    <span style="color:#0000ff;margin:0;padding:0;">]</span><span style="color:#0000ff;margin:0;padding:0;">]</span>&gt;<br /><span style="color:#990000;margin:0;padding:0;">&lt;/mx:Script&gt;</span></span></div>
</div>
</div>
<p>Now down to the actual work of our application, the first thing we need to do in both of the functions is get the result back and we store it in a string. The next thing we do is call the function JSON.decode on the string, this function will return us an object with all the same properties of the one sent by php - we set this equal to a variable. We can now use this object and reference the properties using the . (dot) notation. So to get the first name of the person we simply use variable.first_name and so on for the rest of the variables. So that takes care of getting a person. And the above code is changed like so.</p>
<div style="background-color:#f7fbf7;font-size:13px;font-family:'Courier New', Courier, monospace;width:520px;border-color:#303130;border-style:solid;border-width:1px;margin:0;padding:3px 3px 10px 8px;" class="syntax_hilite">
<div style="margin:0;padding:0;">
<div style="margin:0;padding:0;" class="mxml"><span style="color:#000000;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:Script&gt;</span><br />    &lt;!<span style="color:#0000ff;margin:0;padding:0;">[</span>CDATA<span style="color:#0000ff;margin:0;padding:0;">[</span><br />    <span style="color:#0066cc;margin:0;padding:0;">import</span> mx.<span style="margin:0;padding:0;">rpc</span>.<span style="margin:0;padding:0;">events</span>.<span style="margin:0;padding:0;">ResultEvent</span>;<br />    <span style="color:#0066cc;margin:0;padding:0;">import</span> com.<span style="margin:0;padding:0;">adobe</span>.<span style="margin:0;padding:0;">serialization</span>.<span style="margin:0;padding:0;">json</span>.<span style="margin:0;padding:0;">JSON</span>;<br />    <br />    <span style="color:#0066cc;margin:0;padding:0;">private</span> <span style="color:#000000;font-weight:bold;margin:0;padding:0;">function</span> personJSON<span style="color:#0000ff;margin:0;padding:0;">(</span>event:ResultEvent<span style="color:#0000ff;margin:0;padding:0;">)</span>:<span style="color:#0066cc;margin:0;padding:0;">void</span><br />    <span style="color:#0000ff;margin:0;padding:0;">{</span><br />        <span style="color:#808080;font-style:italic;margin:0;padding:0;">//get the raw JSON data and cast to String</span><br />        <span style="color:#000000;font-weight:bold;margin:0;padding:0;">var</span> rawData:<span style="color:#0066cc;margin:0;padding:0;">String</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> <span style="color:#0066cc;margin:0;padding:0;">String</span><span style="color:#0000ff;margin:0;padding:0;">(</span>event.<span style="margin:0;padding:0;">result</span><span style="color:#0000ff;margin:0;padding:0;">)</span>;<br />        <span style="color:#000000;font-weight:bold;margin:0;padding:0;">var</span> person <span style="color:#0000ff;margin:0;padding:0;">=</span> JSON.<span style="margin:0;padding:0;">decode</span><span style="color:#0000ff;margin:0;padding:0;">(</span>rawData<span style="color:#0000ff;margin:0;padding:0;">)</span>;<br />        txtName.<span style="color:#0066cc;margin:0;padding:0;">text</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> person.<span style="margin:0;padding:0;">first_name</span> + <span style="color:#009900;margin:0;padding:0;">" "</span> + <br />                  person.<span style="margin:0;padding:0;">last_name</span>;<br />        txtEmail.<span style="color:#0066cc;margin:0;padding:0;">text</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> person.<span style="margin:0;padding:0;">email</span>;<br />        txtAddress.<span style="color:#0066cc;margin:0;padding:0;">text</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> person.<span style="margin:0;padding:0;">address</span>;<br />        txtEmployees.<span style="color:#0066cc;margin:0;padding:0;">text</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> <span style="color:#009900;margin:0;padding:0;">"No"</span>;<br />        txtTitle.<span style="color:#0066cc;margin:0;padding:0;">text</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> <span style="color:#009900;margin:0;padding:0;">"No Title"</span>;<br />    <span style="color:#0000ff;margin:0;padding:0;">}</span><br />    <br />    <span style="color:#0066cc;margin:0;padding:0;">private</span> <span style="color:#000000;font-weight:bold;margin:0;padding:0;">function</span> managerJSON<span style="color:#0000ff;margin:0;padding:0;">(</span>event:ResultEvent<span style="color:#0000ff;margin:0;padding:0;">)</span>:<span style="color:#0066cc;margin:0;padding:0;">void</span><br />    <span style="color:#0000ff;margin:0;padding:0;">{</span><br />        <span style="color:#808080;font-style:italic;margin:0;padding:0;">//get the raw JSON data and cast to String</span><br />        <span style="color:#000000;font-weight:bold;margin:0;padding:0;">var</span> rawData:<span style="color:#0066cc;margin:0;padding:0;">String</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> <span style="color:#0066cc;margin:0;padding:0;">String</span><span style="color:#0000ff;margin:0;padding:0;">(</span>event.<span style="margin:0;padding:0;">result</span><span style="color:#0000ff;margin:0;padding:0;">)</span>;<br />        <span style="color:#000000;font-weight:bold;margin:0;padding:0;">var</span> manager <span style="color:#0000ff;margin:0;padding:0;">=</span> JSON.<span style="margin:0;padding:0;">decode</span><span style="color:#0000ff;margin:0;padding:0;">(</span>rawData<span style="color:#0000ff;margin:0;padding:0;">)</span>;<br />        txtName.<span style="color:#0066cc;margin:0;padding:0;">text</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> manager.<span style="margin:0;padding:0;">first_name</span> + <span style="color:#009900;margin:0;padding:0;">" "</span> + <br />                  manager.<span style="margin:0;padding:0;">last_name</span>;<br />        txtEmail.<span style="color:#0066cc;margin:0;padding:0;">text</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> manager.<span style="margin:0;padding:0;">email</span>;<br />        txtAddress.<span style="color:#0066cc;margin:0;padding:0;">text</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> manager.<span style="margin:0;padding:0;">address</span>;<br />        txtEmployees.<span style="color:#0066cc;margin:0;padding:0;">text</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> <span style="color:#009900;margin:0;padding:0;">"Yes"</span>;<br />        txtTitle.<span style="color:#0066cc;margin:0;padding:0;">text</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> manager.<span style="margin:0;padding:0;">title</span>;<br />    <span style="color:#0000ff;margin:0;padding:0;">}</span><br />    <span style="color:#0000ff;margin:0;padding:0;">]</span><span style="color:#0000ff;margin:0;padding:0;">]</span>&gt;<br /><span style="color:#990000;margin:0;padding:0;">&lt;/mx:Script&gt;</span></span></div>
</div>
</div>
<p>This takes care of all the text boxes we created and puts the correct values in them. Now we have to worry about that datagrid we created, and you might have noticed we haven&#8217;t dealt with the employees of the manager yet. Well this is handled pretty nicely in the manager function. We are going add a new var called employees and this will be an Array. Because of the JSON.decode function we can simply cast the employees as an Array and all will be fine. The next thing we do is actually create an ArrayCollection to use for the data provider for the datagrid. This is a best practice when using array data for the provider because the ArrayCollection allows for some extra functionality. The final setup is to set the dataGrid.dataProvider equal to the ArrayCollection. Also we set the dataProvider equal to null in the person function to clear our the data in the data grid. To make all this work we also need to add another import for ArrayCollection. This leaves us with the following code.</p>
<div style="background-color:#f7fbf7;font-size:13px;font-family:'Courier New', Courier, monospace;width:520px;border-color:#303130;border-style:solid;border-width:1px;margin:0;padding:3px 3px 10px 8px;" class="syntax_hilite">
<div style="margin:0;padding:0;">
<div style="margin:0;padding:0;" class="mxml"><span style="color:#000000;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:Script&gt;</span><br />    &lt;!<span style="color:#0000ff;margin:0;padding:0;">[</span>CDATA<span style="color:#0000ff;margin:0;padding:0;">[</span><br />    <span style="color:#0066cc;margin:0;padding:0;">import</span> mx.<span style="margin:0;padding:0;">collections</span>.<span style="margin:0;padding:0;">ArrayCollection</span>;<br />    <span style="color:#0066cc;margin:0;padding:0;">import</span> mx.<span style="margin:0;padding:0;">rpc</span>.<span style="margin:0;padding:0;">events</span>.<span style="margin:0;padding:0;">ResultEvent</span>;<br />    <span style="color:#0066cc;margin:0;padding:0;">import</span> com.<span style="margin:0;padding:0;">adobe</span>.<span style="margin:0;padding:0;">serialization</span>.<span style="margin:0;padding:0;">json</span>.<span style="margin:0;padding:0;">JSON</span>;<br />    <br />    <span style="color:#0066cc;margin:0;padding:0;">private</span> <span style="color:#000000;font-weight:bold;margin:0;padding:0;">function</span> personJSON<span style="color:#0000ff;margin:0;padding:0;">(</span>event:ResultEvent<span style="color:#0000ff;margin:0;padding:0;">)</span>:<span style="color:#0066cc;margin:0;padding:0;">void</span><br />    <span style="color:#0000ff;margin:0;padding:0;">{</span><br />        <span style="color:#808080;font-style:italic;margin:0;padding:0;">//get the raw JSON data and cast to String</span><br />        <span style="color:#000000;font-weight:bold;margin:0;padding:0;">var</span> rawData:<span style="color:#0066cc;margin:0;padding:0;">String</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> <span style="color:#0066cc;margin:0;padding:0;">String</span><span style="color:#0000ff;margin:0;padding:0;">(</span>event.<span style="margin:0;padding:0;">result</span><span style="color:#0000ff;margin:0;padding:0;">)</span>;<br />        <span style="color:#000000;font-weight:bold;margin:0;padding:0;">var</span> person <span style="color:#0000ff;margin:0;padding:0;">=</span> JSON.<span style="margin:0;padding:0;">decode</span><span style="color:#0000ff;margin:0;padding:0;">(</span>rawData<span style="color:#0000ff;margin:0;padding:0;">)</span>;<br />        txtName.<span style="color:#0066cc;margin:0;padding:0;">text</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> person.<span style="margin:0;padding:0;">first_name</span> + <span style="color:#009900;margin:0;padding:0;">" "</span> <br />            + person.<span style="margin:0;padding:0;">last_name</span>;<br />        txtEmail.<span style="color:#0066cc;margin:0;padding:0;">text</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> person.<span style="margin:0;padding:0;">email</span>;<br />        txtAddress.<span style="color:#0066cc;margin:0;padding:0;">text</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> person.<span style="margin:0;padding:0;">address</span>;<br />        txtEmployees.<span style="color:#0066cc;margin:0;padding:0;">text</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> <span style="color:#009900;margin:0;padding:0;">"No"</span>;<br />        txtTitle.<span style="color:#0066cc;margin:0;padding:0;">text</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> <span style="color:#009900;margin:0;padding:0;">"No Title"</span>;<br />        <br />        <span style="color:#808080;font-style:italic;margin:0;padding:0;">//Data Grid Code</span><br />        dgEmployees.<span style="margin:0;padding:0;">dataProvider</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> <span style="color:#000000;font-weight:bold;margin:0;padding:0;">null</span>;<br />    <span style="color:#0000ff;margin:0;padding:0;">}</span><br />    <br />    <span style="color:#0066cc;margin:0;padding:0;">private</span> <span style="color:#000000;font-weight:bold;margin:0;padding:0;">function</span> managerJSON<span style="color:#0000ff;margin:0;padding:0;">(</span>event:ResultEvent<span style="color:#0000ff;margin:0;padding:0;">)</span>:<span style="color:#0066cc;margin:0;padding:0;">void</span><br />    <span style="color:#0000ff;margin:0;padding:0;">{</span><br />        <span style="color:#808080;font-style:italic;margin:0;padding:0;">//get the raw JSON data and cast to String</span><br />        <span style="color:#000000;font-weight:bold;margin:0;padding:0;">var</span> rawData:<span style="color:#0066cc;margin:0;padding:0;">String</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> <span style="color:#0066cc;margin:0;padding:0;">String</span><span style="color:#0000ff;margin:0;padding:0;">(</span>event.<span style="margin:0;padding:0;">result</span><span style="color:#0000ff;margin:0;padding:0;">)</span>;<br />        <span style="color:#000000;font-weight:bold;margin:0;padding:0;">var</span> manager <span style="color:#0000ff;margin:0;padding:0;">=</span> JSON.<span style="margin:0;padding:0;">decode</span><span style="color:#0000ff;margin:0;padding:0;">(</span>rawData<span style="color:#0000ff;margin:0;padding:0;">)</span>;<br />        txtName.<span style="color:#0066cc;margin:0;padding:0;">text</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> manager.<span style="margin:0;padding:0;">first_name</span> + <span style="color:#009900;margin:0;padding:0;">" "</span> <br />            + manager.<span style="margin:0;padding:0;">last_name</span>;<br />        txtEmail.<span style="color:#0066cc;margin:0;padding:0;">text</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> manager.<span style="margin:0;padding:0;">email</span>;<br />        txtAddress.<span style="color:#0066cc;margin:0;padding:0;">text</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> manager.<span style="margin:0;padding:0;">address</span>;<br />        txtEmployees.<span style="color:#0066cc;margin:0;padding:0;">text</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> <span style="color:#009900;margin:0;padding:0;">"Yes"</span>;<br />        txtTitle.<span style="color:#0066cc;margin:0;padding:0;">text</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> manager.<span style="margin:0;padding:0;">title</span>;<br />        <br />        <span style="color:#808080;font-style:italic;margin:0;padding:0;">//Data Grid Code</span><br />        <span style="color:#000000;font-weight:bold;margin:0;padding:0;">var</span> employees:<span style="color:#0066cc;margin:0;padding:0;">Array</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> <br />            manager.<span style="margin:0;padding:0;">employees</span> as <span style="color:#0066cc;margin:0;padding:0;">Array</span>;<br />        <span style="color:#000000;font-weight:bold;margin:0;padding:0;">var</span> employeesCollection:ArrayCollection <span style="color:#0000ff;margin:0;padding:0;">=</span> <br />            <span style="color:#000000;font-weight:bold;margin:0;padding:0;">new</span> ArrayCollection<span style="color:#0000ff;margin:0;padding:0;">(</span>employees<span style="color:#0000ff;margin:0;padding:0;">)</span>; <br />        dgEmployees.<span style="margin:0;padding:0;">dataProvider</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> employeesCollection;<br />    <span style="color:#0000ff;margin:0;padding:0;">}</span><br />    <span style="color:#0000ff;margin:0;padding:0;">]</span><span style="color:#0000ff;margin:0;padding:0;">]</span>&gt;<br /><span style="color:#990000;margin:0;padding:0;">&lt;/mx:Script&gt;</span></span></div>
</div>
</div>
<p>Now you might have tried it at this point and said &#8220;Hey, this isn&#8217;t working!&#8221;, well that is true. This is because we never hooked our buttons up to send the requests. This is really simple, we just add click events for both buttons and the corresponding service.send() commands to the click events. The code below is our new button code.</p>
<div style="background-color:#f7fbf7;font-size:13px;font-family:'Courier New', Courier, monospace;width:520px;border-color:#303130;border-style:solid;border-width:1px;margin:0;padding:3px 3px 10px 8px;" class="syntax_hilite">
<div style="margin:0;padding:0;">
<div style="margin:0;padding:0;" class="mxml"><span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:Button</span> x=<span style="color:#009900;margin:0;padding:0;">&#8220;116&#8243;</span> y=<span style="color:#009900;margin:0;padding:0;">&#8220;338&#8243;</span> label=<span style="color:#009900;margin:0;padding:0;">&#8220;Get Employee&#8221;</span> <br />    id=<span style="color:#009900;margin:0;padding:0;">&#8220;getPerson&#8221;</span> click=<span style="color:#009900;margin:0;padding:0;">&#8220;personRequest.send();&#8221;</span>/&gt;</span><br /><span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:Button</span> x=<span style="color:#009900;margin:0;padding:0;">&#8220;266&#8243;</span> y=<span style="color:#009900;margin:0;padding:0;">&#8220;338&#8243;</span> label=<span style="color:#009900;margin:0;padding:0;">&#8220;Get Manager&#8221;</span> <br />    id=<span style="color:#009900;margin:0;padding:0;">&#8220;getManager&#8221;</span> click=<span style="color:#009900;margin:0;padding:0;">&#8220;managerRequest.send();&#8221;</span>/&gt;</span></div>
</div>
</div>
<p>So this leaves us with the final flex code. This along with the php code at the beginning of the tutorial allows for JSON data to be sent to your flex applications.</p>
<div style="background-color:#f7fbf7;font-size:13px;font-family:'Courier New', Courier, monospace;width:520px;border-color:#303130;border-style:solid;border-width:1px;margin:0;padding:3px 3px 10px 8px;" class="syntax_hilite">
<div style="margin:0;padding:0;">
<div style="margin:0;padding:0;" class="mxml"><span style="color:#333333;margin:0;padding:0;">&lt;?<span style="color:#0066cc;margin:0;padding:0;">xml</span> <span style="color:#0066cc;margin:0;padding:0;">version</span>=<span style="color:#009900;margin:0;padding:0;">&#8220;1.0&#8243;</span> encoding=<span style="color:#009900;margin:0;padding:0;">&#8220;utf-8&#8243;</span>?&gt;</span><br /><span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:Application</span> xmlns:mx=<span style="color:#009900;margin:0;padding:0;">&#8220;http://www.adobe.com/2006/mxml&#8221;</span> <br />    layout=<span style="color:#009900;margin:0;padding:0;">&#8220;absolute&#8221;</span> <span style="color:#0066cc;margin:0;padding:0;">width</span>=<span style="color:#009900;margin:0;padding:0;">&#8220;500&#8243;</span> <span style="color:#0066cc;margin:0;padding:0;">height</span>=<span style="color:#009900;margin:0;padding:0;">&#8220;410&#8243;</span> <br />    viewSourceURL=<span style="color:#009900;margin:0;padding:0;">&#8220;../files/JSONTutorial.mxml&#8221;</span>&gt;</span><br /><span style="color:#000000;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:Script&gt;</span><br />    &lt;!<span style="color:#0000ff;margin:0;padding:0;">[</span>CDATA<span style="color:#0000ff;margin:0;padding:0;">[</span><br />    <span style="color:#0066cc;margin:0;padding:0;">import</span> mx.<span style="margin:0;padding:0;">collections</span>.<span style="margin:0;padding:0;">ArrayCollection</span>;<br />    <span style="color:#0066cc;margin:0;padding:0;">import</span> mx.<span style="margin:0;padding:0;">rpc</span>.<span style="margin:0;padding:0;">events</span>.<span style="margin:0;padding:0;">ResultEvent</span>;<br />    <span style="color:#0066cc;margin:0;padding:0;">import</span> com.<span style="margin:0;padding:0;">adobe</span>.<span style="margin:0;padding:0;">serialization</span>.<span style="margin:0;padding:0;">json</span>.<span style="margin:0;padding:0;">JSON</span>;<br />    <br />    <span style="color:#0066cc;margin:0;padding:0;">private</span> <span style="color:#000000;font-weight:bold;margin:0;padding:0;">function</span> personJSON<span style="color:#0000ff;margin:0;padding:0;">(</span>event:ResultEvent<span style="color:#0000ff;margin:0;padding:0;">)</span>:<span style="color:#0066cc;margin:0;padding:0;">void</span><br />    <span style="color:#0000ff;margin:0;padding:0;">{</span><br />        <span style="color:#808080;font-style:italic;margin:0;padding:0;">//get the raw JSON data and cast to String</span><br />        <span style="color:#000000;font-weight:bold;margin:0;padding:0;">var</span> rawData:<span style="color:#0066cc;margin:0;padding:0;">String</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> <span style="color:#0066cc;margin:0;padding:0;">String</span><span style="color:#0000ff;margin:0;padding:0;">(</span>event.<span style="margin:0;padding:0;">result</span><span style="color:#0000ff;margin:0;padding:0;">)</span>;<br />        <span style="color:#000000;font-weight:bold;margin:0;padding:0;">var</span> person <span style="color:#0000ff;margin:0;padding:0;">=</span> JSON.<span style="margin:0;padding:0;">decode</span><span style="color:#0000ff;margin:0;padding:0;">(</span>rawData<span style="color:#0000ff;margin:0;padding:0;">)</span>;<br />        txtName.<span style="color:#0066cc;margin:0;padding:0;">text</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> person.<span style="margin:0;padding:0;">first_name</span> + <span style="color:#009900;margin:0;padding:0;">" "</span> <br />            + person.<span style="margin:0;padding:0;">last_name</span>;<br />        txtEmail.<span style="color:#0066cc;margin:0;padding:0;">text</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> person.<span style="margin:0;padding:0;">email</span>;<br />        txtAddress.<span style="color:#0066cc;margin:0;padding:0;">text</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> person.<span style="margin:0;padding:0;">address</span>;<br />        txtEmployees.<span style="color:#0066cc;margin:0;padding:0;">text</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> <span style="color:#009900;margin:0;padding:0;">"No"</span>;<br />        txtTitle.<span style="color:#0066cc;margin:0;padding:0;">text</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> <span style="color:#009900;margin:0;padding:0;">"No Title"</span>;<br />        <br />        <span style="color:#808080;font-style:italic;margin:0;padding:0;">//Data Grid Code</span><br />        dgEmployees.<span style="margin:0;padding:0;">dataProvider</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> <span style="color:#000000;font-weight:bold;margin:0;padding:0;">null</span>;<br />    <span style="color:#0000ff;margin:0;padding:0;">}</span><br />    <br />    <span style="color:#0066cc;margin:0;padding:0;">private</span> <span style="color:#000000;font-weight:bold;margin:0;padding:0;">function</span> managerJSON<span style="color:#0000ff;margin:0;padding:0;">(</span>event:ResultEvent<span style="color:#0000ff;margin:0;padding:0;">)</span>:<span style="color:#0066cc;margin:0;padding:0;">void</span><br />    <span style="color:#0000ff;margin:0;padding:0;">{</span><br />        <span style="color:#808080;font-style:italic;margin:0;padding:0;">//get the raw JSON data and cast to String</span><br />        <span style="color:#000000;font-weight:bold;margin:0;padding:0;">var</span> rawData:<span style="color:#0066cc;margin:0;padding:0;">String</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> <span style="color:#0066cc;margin:0;padding:0;">String</span><span style="color:#0000ff;margin:0;padding:0;">(</span>event.<span style="margin:0;padding:0;">result</span><span style="color:#0000ff;margin:0;padding:0;">)</span>;<br />        <span style="color:#000000;font-weight:bold;margin:0;padding:0;">var</span> manager <span style="color:#0000ff;margin:0;padding:0;">=</span> JSON.<span style="margin:0;padding:0;">decode</span><span style="color:#0000ff;margin:0;padding:0;">(</span>rawData<span style="color:#0000ff;margin:0;padding:0;">)</span>;<br />        txtName.<span style="color:#0066cc;margin:0;padding:0;">text</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> manager.<span style="margin:0;padding:0;">first_name</span> + <span style="color:#009900;margin:0;padding:0;">" "</span> <br />            + manager.<span style="margin:0;padding:0;">last_name</span>;<br />        txtEmail.<span style="color:#0066cc;margin:0;padding:0;">text</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> manager.<span style="margin:0;padding:0;">email</span>;<br />        txtAddress.<span style="color:#0066cc;margin:0;padding:0;">text</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> manager.<span style="margin:0;padding:0;">address</span>;<br />        txtEmployees.<span style="color:#0066cc;margin:0;padding:0;">text</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> <span style="color:#009900;margin:0;padding:0;">"Yes"</span>;<br />        txtTitle.<span style="color:#0066cc;margin:0;padding:0;">text</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> manager.<span style="margin:0;padding:0;">title</span>;<br />        <br />        <span style="color:#808080;font-style:italic;margin:0;padding:0;">//Data Grid Code</span><br />        <span style="color:#000000;font-weight:bold;margin:0;padding:0;">var</span> employees:<span style="color:#0066cc;margin:0;padding:0;">Array</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> <br />            manager.<span style="margin:0;padding:0;">employees</span> as <span style="color:#0066cc;margin:0;padding:0;">Array</span>;<br />        <span style="color:#000000;font-weight:bold;margin:0;padding:0;">var</span> employeesCollection:ArrayCollection <span style="color:#0000ff;margin:0;padding:0;">=</span> <br />            <span style="color:#000000;font-weight:bold;margin:0;padding:0;">new</span> ArrayCollection<span style="color:#0000ff;margin:0;padding:0;">(</span>employees<span style="color:#0000ff;margin:0;padding:0;">)</span>; <br />        dgEmployees.<span style="margin:0;padding:0;">dataProvider</span> <span style="color:#0000ff;margin:0;padding:0;">=</span> employeesCollection;<br />    <span style="color:#0000ff;margin:0;padding:0;">}</span><br />    <span style="color:#0000ff;margin:0;padding:0;">]</span><span style="color:#0000ff;margin:0;padding:0;">]</span>&gt;<br /><span style="color:#990000;margin:0;padding:0;">&lt;/mx:Script&gt;</span></span><br /><span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:HTTPService</span> id=<span style="color:#009900;margin:0;padding:0;">&#8220;personRequest&#8221;</span> <br />        <span style="color:#0066cc;margin:0;padding:0;">url</span>=<span style="color:#009900;margin:0;padding:0;">&#8220;../files/json_tutorial.php&#8221;</span> <br />        useProxy=<span style="color:#009900;margin:0;padding:0;">&#8220;false&#8221;</span> method=<span style="color:#009900;margin:0;padding:0;">&#8220;GET&#8221;</span> resultFormat=<span style="color:#009900;margin:0;padding:0;">&#8220;text&#8221;</span> <br />        result=<span style="color:#009900;margin:0;padding:0;">&#8220;personJSON(event)&#8221;</span>&gt;</span><br />    <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:request</span> xmlns=<span style="color:#009900;margin:0;padding:0;">&#8220;&#8221;</span>&gt;</span><br />        <span style="color:#333333;margin:0;padding:0;">&lt;getPerson&gt;</span>&#8220;true&#8221;<span style="color:#333333;margin:0;padding:0;">&lt;/getPerson&gt;</span><br />    <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;/mx:request&gt;</span></span><br /><span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;/mx:HTTPService&gt;</span></span><br /><span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:HTTPService</span> id=<span style="color:#009900;margin:0;padding:0;">&#8220;managerRequest&#8221;</span> <br />        <span style="color:#0066cc;margin:0;padding:0;">url</span>=<span style="color:#009900;margin:0;padding:0;">&#8220;../files/json_tutorial.php&#8221;</span> <br />        useProxy=<span style="color:#009900;margin:0;padding:0;">&#8220;false&#8221;</span> method=<span style="color:#009900;margin:0;padding:0;">&#8220;GET&#8221;</span> resultFormat=<span style="color:#009900;margin:0;padding:0;">&#8220;text&#8221;</span> <br />        result=<span style="color:#009900;margin:0;padding:0;">&#8220;managerJSON(event)&#8221;</span>&gt;</span><br />    <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:request</span> xmlns=<span style="color:#009900;margin:0;padding:0;">&#8220;&#8221;</span>&gt;</span><br />        <span style="color:#333333;margin:0;padding:0;">&lt;getManager&gt;</span>&#8220;true&#8221;<span style="color:#333333;margin:0;padding:0;">&lt;/getManager&gt;</span><br />    <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;/mx:request&gt;</span></span><br /><span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;/mx:HTTPService&gt;</span></span><br /><span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:Panel</span> x=<span style="color:#009900;margin:0;padding:0;">&#8220;0&#8243;</span> y=<span style="color:#009900;margin:0;padding:0;">&#8220;0&#8243;</span> <span style="color:#0066cc;margin:0;padding:0;">width</span>=<span style="color:#009900;margin:0;padding:0;">&#8220;500&#8243;</span> <span style="color:#0066cc;margin:0;padding:0;">height</span>=<span style="color:#009900;margin:0;padding:0;">&#8220;410&#8243;</span> <br />    layout=<span style="color:#009900;margin:0;padding:0;">&#8220;absolute&#8221;</span> title=<span style="color:#009900;margin:0;padding:0;">&#8220;Simple JSON Example&#8221;</span>&gt;</span><br />    <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:DataGrid</span> x=<span style="color:#009900;margin:0;padding:0;">&#8220;10&#8243;</span> y=<span style="color:#009900;margin:0;padding:0;">&#8220;174&#8243;</span> <span style="color:#0066cc;margin:0;padding:0;">width</span>=<span style="color:#009900;margin:0;padding:0;">&#8220;460&#8243;</span> <span style="color:#0066cc;margin:0;padding:0;">enabled</span>=<span style="color:#009900;margin:0;padding:0;">&#8220;true&#8221;</span> <br />        editable=<span style="color:#009900;margin:0;padding:0;">&#8220;false&#8221;</span> id=<span style="color:#009900;margin:0;padding:0;">&#8220;dgEmployees&#8221;</span>&gt;</span><br />        <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:columns&gt;</span></span><br />            <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:DataGridColumn</span> headerText=<span style="color:#009900;margin:0;padding:0;">&#8220;First Name&#8221;</span> <br />                dataField=<span style="color:#009900;margin:0;padding:0;">&#8220;first_name&#8221;</span>/&gt;</span><br />            <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:DataGridColumn</span> headerText=<span style="color:#009900;margin:0;padding:0;">&#8220;Last Name&#8221;</span> <br />                dataField=<span style="color:#009900;margin:0;padding:0;">&#8220;last_name&#8221;</span>/&gt;</span><br />            <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:DataGridColumn</span> headerText=<span style="color:#009900;margin:0;padding:0;">&#8220;Email&#8221;</span> <br />                dataField=<span style="color:#009900;margin:0;padding:0;">&#8220;email&#8221;</span>/&gt;</span><br />            <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:DataGridColumn</span> headerText=<span style="color:#009900;margin:0;padding:0;">&#8220;Address&#8221;</span> <br />                dataField=<span style="color:#009900;margin:0;padding:0;">&#8220;address&#8221;</span>/&gt;</span><br />        <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;/mx:columns&gt;</span></span><br />    <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;/mx:DataGrid&gt;</span></span><br />    <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:Button</span> x=<span style="color:#009900;margin:0;padding:0;">&#8220;116&#8243;</span> y=<span style="color:#009900;margin:0;padding:0;">&#8220;338&#8243;</span> label=<span style="color:#009900;margin:0;padding:0;">&#8220;Get Employee&#8221;</span> <br />        id=<span style="color:#009900;margin:0;padding:0;">&#8220;getPerson&#8221;</span> click=<span style="color:#009900;margin:0;padding:0;">&#8220;personRequest.send();&#8221;</span>/&gt;</span><br />    <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:Button</span> x=<span style="color:#009900;margin:0;padding:0;">&#8220;266&#8243;</span> y=<span style="color:#009900;margin:0;padding:0;">&#8220;338&#8243;</span> label=<span style="color:#009900;margin:0;padding:0;">&#8220;Get Manager&#8221;</span> <br />        id=<span style="color:#009900;margin:0;padding:0;">&#8220;getManager&#8221;</span> click=<span style="color:#009900;margin:0;padding:0;">&#8220;managerRequest.send();&#8221;</span>/&gt;</span><br />    <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:Label</span> x=<span style="color:#009900;margin:0;padding:0;">&#8220;131&#8243;</span> y=<span style="color:#009900;margin:0;padding:0;">&#8220;12&#8243;</span> <span style="color:#0066cc;margin:0;padding:0;">text</span>=<span style="color:#009900;margin:0;padding:0;">&#8220;Name&#8221;</span>/&gt;</span><br />    <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:TextInput</span> x=<span style="color:#009900;margin:0;padding:0;">&#8220;189&#8243;</span> y=<span style="color:#009900;margin:0;padding:0;">&#8220;10&#8243;</span> id=<span style="color:#009900;margin:0;padding:0;">&#8220;txtName&#8221;</span> editable=<span style="color:#009900;margin:0;padding:0;">&#8220;false&#8221;</span>/&gt;</span><br />    <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:Label</span> x=<span style="color:#009900;margin:0;padding:0;">&#8220;131&#8243;</span> y=<span style="color:#009900;margin:0;padding:0;">&#8220;42&#8243;</span> <span style="color:#0066cc;margin:0;padding:0;">text</span>=<span style="color:#009900;margin:0;padding:0;">&#8220;E-mail&#8221;</span>/&gt;</span><br />    <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:TextInput</span> x=<span style="color:#009900;margin:0;padding:0;">&#8220;189&#8243;</span> y=<span style="color:#009900;margin:0;padding:0;">&#8220;40&#8243;</span> id=<span style="color:#009900;margin:0;padding:0;">&#8220;txtEmail&#8221;</span> editable=<span style="color:#009900;margin:0;padding:0;">&#8220;false&#8221;</span>/&gt;</span><br />    <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:Label</span> x=<span style="color:#009900;margin:0;padding:0;">&#8220;131&#8243;</span> y=<span style="color:#009900;margin:0;padding:0;">&#8220;68&#8243;</span> <span style="color:#0066cc;margin:0;padding:0;">text</span>=<span style="color:#009900;margin:0;padding:0;">&#8220;Address&#8221;</span>/&gt;</span><br />    <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:TextInput</span> x=<span style="color:#009900;margin:0;padding:0;">&#8220;189&#8243;</span> y=<span style="color:#009900;margin:0;padding:0;">&#8220;66&#8243;</span> id=<span style="color:#009900;margin:0;padding:0;">&#8220;txtAddress&#8221;</span> <br />        editable=<span style="color:#009900;margin:0;padding:0;">&#8220;false&#8221;</span>/&gt;</span><br />    <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:Label</span> x=<span style="color:#009900;margin:0;padding:0;">&#8220;131&#8243;</span> y=<span style="color:#009900;margin:0;padding:0;">&#8220;94&#8243;</span> <span style="color:#0066cc;margin:0;padding:0;">text</span>=<span style="color:#009900;margin:0;padding:0;">&#8220;Title&#8221;</span>/&gt;</span><br />    <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:TextInput</span> x=<span style="color:#009900;margin:0;padding:0;">&#8220;189&#8243;</span> y=<span style="color:#009900;margin:0;padding:0;">&#8220;92&#8243;</span> id=<span style="color:#009900;margin:0;padding:0;">&#8220;txtTitle&#8221;</span> editable=<span style="color:#009900;margin:0;padding:0;">&#8220;false&#8221;</span>/&gt;</span><br />    <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:Label</span> x=<span style="color:#009900;margin:0;padding:0;">&#8220;131&#8243;</span> y=<span style="color:#009900;margin:0;padding:0;">&#8220;122&#8243;</span> <span style="color:#0066cc;margin:0;padding:0;">text</span>=<span style="color:#009900;margin:0;padding:0;">&#8220;Has Employees&#8221;</span>/&gt;</span><br />    <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:TextInput</span> x=<span style="color:#009900;margin:0;padding:0;">&#8220;229&#8243;</span> y=<span style="color:#009900;margin:0;padding:0;">&#8220;120&#8243;</span> <span style="color:#0066cc;margin:0;padding:0;">width</span>=<span style="color:#009900;margin:0;padding:0;">&#8220;120&#8243;</span> editable=<span style="color:#009900;margin:0;padding:0;">&#8220;false&#8221;</span> <br />        id=<span style="color:#009900;margin:0;padding:0;">&#8220;txtEmployees&#8221;</span> <span style="color:#0066cc;margin:0;padding:0;">text</span>=<span style="color:#009900;margin:0;padding:0;">&#8220;No&#8221;</span>/&gt;</span><br />    <span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;mx:Label</span> x=<span style="color:#009900;margin:0;padding:0;">&#8220;10&#8243;</span> y=<span style="color:#009900;margin:0;padding:0;">&#8220;148&#8243;</span> <span style="color:#0066cc;margin:0;padding:0;">text</span>=<span style="color:#009900;margin:0;padding:0;">&#8220;Employees:&#8221;</span>/&gt;</span><br /><span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;/mx:Panel&gt;</span></span><br /><span style="color:#333333;margin:0;padding:0;"><span style="color:#990000;margin:0;padding:0;">&lt;/mx:Application&gt;</span></span></div>
<div><span style="color:#990000;" class="Apple-style-span"><br class="webkit-block-placeholder" /></span></div>
</div>
</div>
<p></span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/openstech.wordpress.com/39/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/openstech.wordpress.com/39/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/openstech.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/openstech.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/openstech.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/openstech.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/openstech.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/openstech.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/openstech.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/openstech.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/openstech.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/openstech.wordpress.com/39/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=openstech.wordpress.com&blog=822521&post=39&subd=openstech&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://openstech.wordpress.com/2008/01/23/php-flex-development/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>