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

<channel>
	<title>BLUEice studios &#187; Web</title>
	<atom:link href="http://www.blueicestudios.com/category/web/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.blueicestudios.com</link>
	<description>Solutions for Mixed Media &#38; Web Development.</description>
	<lastBuildDate>Sat, 08 May 2010 20:43:45 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Chained Select Boxes using PHP / MySQL / AJAX</title>
		<link>http://www.blueicestudios.com/chained-select-boxes-using-php-mysql-ajax/</link>
		<comments>http://www.blueicestudios.com/chained-select-boxes-using-php-mysql-ajax/#comments</comments>
		<pubDate>Sun, 05 May 0210 11:42:12 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Code Snippets]]></category>
		<category><![CDATA[Featured Articles]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[chained select boxes]]></category>

		<guid isPermaLink="false">http://www.blueicestudios.com/?p=123</guid>
		<description><![CDATA[UPDATE
Version 2 is now available. I&#8217;ve had a lot of people ask for this and now its ready. 2 and 3 tier chained dropdowns. 3 tier files included in the download.
Im currently working on a chained dropdown generator that will give you the ability to create them on the fly with unlimited dropdowns. As soon [...]]]></description>
			<content:encoded><![CDATA[<p><span style="color: #ff0000;"><strong>UPDATE</strong></span></p>
<p>Version 2 is now available. I&#8217;ve had a lot of people ask for this and now its ready. 2 and 3 tier chained dropdowns. 3 tier files included in the download.</p>
<p>Im currently working on a chained dropdown generator that will give you the ability to create them on the fly with unlimited dropdowns. As soon as that is done I will post it.</p>
<p><a href="http://blueicestudios.com/chained-select-boxes/" target="_blank">DEMO</a></p>
<p>2 and 3 Dropdowns available in the download.</p>
<p style="text-align: center;"><a href="http://blueicestudios.com/chained-select-boxes/" target="_blank"><img class="size-full wp-image-207 aligncenter" title="tier" src="http://www.blueicestudios.com/wp-content/uploads/0210/05/tier.jpg" alt="tier" width="425" height="85" /></a></p>
<p>It is fairly simple and consists of only 3 files. An index, database connection and a function file. So lets start.</p>
<p>Make your database table and fields. you can use mine for now.</p>
<pre class="brush:php">CREATE TABLE IF NOT EXISTS `two_drops` (
  `id` int(11) NOT NULL auto_increment,
  `tier_one` varchar(255) NOT NULL,
  `tier_two` varchar(255) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM ;

INSERT INTO `two_drops` (`id`, `tier_one`, `tier_two`) VALUES
(1, 'Colors', 'Red'),
(2, 'Colors', 'Blue'),
(3, 'Colors', 'Green'),
(4, 'Colors', 'Yellow'),
(5, 'Colors', 'Black'),
(6, 'Shapes', 'Square'),
(7, 'Shapes', 'Circle'),
(8, 'Shapes', 'Triangle'),
(9, 'Shapes', 'Rectangle'),
(10, 'Shapes', 'Oval');</pre>
<p>Make your connection to your database. <strong><em>db.php</em></strong></p>
<pre class="brush:php">mysql_connect("localhost", "username", "password") or die(mysql_error());
mysql_select_db("database") or die(mysql_error());</pre>
<p>Next we will add the jQuery, loading, results and main form in <strong><em>index.php</em></strong></p>
<p>add your includes at the top of the page.</p>
<pre class="brush:php">  //include your database connection and function files.
  include('db.php');
  include('func.php');</pre>
<p>and the rest of the page.</p>
<pre class="brush:php">//jquery framework
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script>
</pre>
<pre class="brush:js">
$(document).ready(function() {
	$('#wait_1').hide();
	$('#drop_1').change(function(){
	  $('#wait_1').show();
	  $('#result_1').hide();
      $.get("func.php", {
		func: "drop_1",
		drop_var: $('#drop_1').val()
      }, function(response){
        $('#result_1').fadeOut();
        setTimeout("finishAjax('result_1', '"+escape(response)+"')", 400);
      });
    	return false;
	});
});

function finishAjax(id, response) {
  $('#wait_1').hide();
  $('#'+id).html(unescape(response));
  $('#'+id).fadeIn();
}
</pre>
<pre class="brush:php">
<form method="post">
<select id="drop_1" name="drop_1">

      <option disabled="disabled" selected="selected">Select a Category</option>
</select>

    <span id="wait_1" style="display: none;">
    <img src="ajax-loader.gif" alt="Please Wait" />
    </span>
    <span id="result_1" style="display: none;"></span>
</form>
</pre>
<p>Ok, that was easy enough. Now for the functions <strong><em>func.php</em></strong></p>
<pre class="brush:php">//**************************************
//     Page load dropdown results     //
//**************************************
function getTierOne()
{
	$result = mysql_query("SELECT DISTINCT tier_one FROM two_drops")
	or die(mysql_error());

	  while($tier = mysql_fetch_array( $result )) 

		{
		   echo ''.$tier['tier_one'].'';
		}

}

//**************************************
//     First selection results     //
//**************************************
if($_GET['func'] == "drop_1" &amp;&amp; isset($_GET['func'])) {
   drop_1($_GET['drop_var']);
}

function drop_1($drop_var)
{
    include_once('db.php');
	$result = mysql_query("SELECT * FROM two_drops WHERE tier_one='$drop_var'")
	or die(mysql_error());

	echo '
<select id="tier_two" name="tier_two">
	      <option disabled="disabled" selected="selected" value=" ">Choose one</option><option value="'.$drop_2['tier_two'].'">'.$drop_2['tier_two'].'</option></select>

 ';
    echo '
<input name="submit" type="submit" value="Submit" />';
}</pre>
<p>And thats it. Download the files below.</p>
<p><a href="http://blueicestudios.com/chained-select-boxes/" target="_blank">DEMO</a></p>
<p><a href="http://blueicestudios.com/chained-select-boxes/chained_select.zip">DOWNLOAD</a></p>
<p>Want more helpful and free scripts? Buy me a cup of coffee to keep me goin!</p>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input alt="PayPal - The safer, easier way to pay online!" name="submit" src="https://www.paypal.com/en_US/i/btn/btn_donateCC_LG.gif" type="image" /> <img src="https://www.paypal.com/en_US/i/scr/pixel.gif" border="0" alt="" width="1" height="1" /><br />
</form>
<p><span id="more-123"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.blueicestudios.com/chained-select-boxes-using-php-mysql-ajax/feed/</wfw:commentRss>
		<slash:comments>57</slash:comments>
		</item>
	</channel>
</rss>
