|
Prev: Dynamic Select Lists - 1st Selection Effects 2nd!
Next: Site work fine with appserv, but fail over debian :S
From: "Rahul S. Johari" on 31 Jul 2008 15:05 Did IT!!!! Haha ... just as you were probably writing in & sending this mail. I pretty much used your theory and actually did look around under http://www.w3schools.com/ajax/ to get the relevant AJAX information. Works like a charm. Pretty much using an onChange=grabCountiesfromAnotherPHPpage(); function. Code is similar to your example below - slightly different. An included 'ajax.js' takes care of the AJAX code, and an additional 'counties.php' writes counties based on a "SELECT COUNTY from myTable WHERE STATE = $_GET['STATE']" SQL Query in an independent SELECT LIST. AJAX takes care of the rest by pulling in this SELECT LIST on to the original page. Thanks a ton - this actually turned out to be easier then I thought!! :) On Jul 31, 2008, at 2:31 PM, Boyd, Todd M. wrote: > Rahul, > > Aww, come now... don't be so negative! :) Most widely-adopted > programming practices are widely-adopted for a reason: they are not > inherently difficult to use. This does, of course, get obfuscated by > various extensions and poor programming techniques end-users employ, > but > I digress. > > http://www.w3schools.com/ajax/ should get you started, but here's a > simple implementation: > > selection.html: > --- > <div id="stateDiv"> > <select id="stateList" name="state" onchange="ajaxCounties();"> > <option value="Alabama">Alabama</option> > <option value="Alaska">Alaska</option> > <!-- > You get the idea... > --> > </select> > </div> <!-- /stateDiv --> > <div id="countyDiv"> > <select name="county"> > <option value=""></option> > </select> > </div> <!-- /countyDiv --> > <script type="text/javascript"> > > function ajaxCounties() > { > var xmlHttp; > var stateList = document.getElementById("stateList"); > > try { > // Firefox, Opera 8.0+, Safari > xmlHttp = new XMLHttpRequest(); > } catch (e) { > // Internet Explorer > try { > xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); > } catch (e) { > // Older IE > try { > xmlHttp = new > ActiveXObject("Microsoft.XMLHTTP"); > } catch (e) { > // AJAX unsupported > alert("Your browser does not support > AJAX!"); > return false; > } > } > } > > // ajax actions > xmlHttp.onReadyStateChange = function() > { > // data returned from server > if(xmlHttp.readyState == 4) { > // fill div with server-generated <select> > element > document.getElementById("countyDiv").innerHTML = > xmlHttp.responseText; > } > } > > // request counties from web server > xmlHttp.open("GET", "county.php?state=" + > stateList.options[stateList.selectedIndex].value, true); > xmlHttp.send(null); > } > > </script> > --- > > I'll leave the PHP implementation up to you... but it'll look > something > like this: > > county.php > --- > <select id="countyList" name="county"> > <?php > // perform query here. > > for(a = 0; a < mysql_num_rows($result); a++) { > $row = mysql_fetch_array($result); > echo "<option > value=\"{$row['countyId']}\">{$row['countyName']}" > . "</option>"; > } > ?> > </select> > --- > > HTH, > > > Todd Boyd > Web Programmer > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > --- Rahul Sitaram Johari Founder, Internet Architects Group, Inc. [Email] sleepwalker(a)rahulsjohari.com [Web] http://www.rahulsjohari.com
From: "Boyd, Todd M." on 31 Jul 2008 15:10 > -----Original Message----- > From: Rahul S. Johari [mailto:sleepwalker(a)rahulsjohari.com] > Sent: Thursday, July 31, 2008 2:06 PM > To: Boyd, Todd M. > Cc: php-general(a)lists.php.net > Subject: Re: [PHP] Dynamic Select Lists - 1st Selection Effects 2nd! -- > SOLVED!! > > > Did IT!!!! Haha ... just as you were probably writing in & sending > this mail. > I pretty much used your theory and actually did look around under > http://www.w3schools.com/ajax/ > to get the relevant AJAX information. Works like a charm. > > Pretty much using an onChange=grabCountiesfromAnotherPHPpage(); > function. Code is similar to your example below - slightly different. > An included 'ajax.js' takes care of the AJAX code, and an additional > 'counties.php' writes counties based on a "SELECT COUNTY from myTable > WHERE STATE = $_GET['STATE']" SQL Query in an independent SELECT LIST. > AJAX takes care of the rest by pulling in this SELECT LIST on to the > original page. > > Thanks a ton - this actually turned out to be easier then I thought!! > > :) Rahul, Glad to hear it! Hopefully, this will keep you from abandoning new and exciting programming horizons that you don't immediately feel capable of grasping. After all, if you're going to be an "Internet Architect," AJAX is something you'll need to be (at least comfortably) familiar with. :) Todd Boyd Web Programmer
From: "Rahul S. Johari" on 31 Jul 2008 15:22
On Jul 31, 2008, at 3:10 PM, Boyd, Todd M. wrote: >> -----Original Message----- >> From: Rahul S. Johari [mailto:sleepwalker(a)rahulsjohari.com] >> Sent: Thursday, July 31, 2008 2:06 PM >> To: Boyd, Todd M. >> Cc: php-general(a)lists.php.net >> Subject: Re: [PHP] Dynamic Select Lists - 1st Selection Effects 2nd! > -- >> SOLVED!! >> >> >> Did IT!!!! Haha ... just as you were probably writing in & sending >> this mail. >> I pretty much used your theory and actually did look around under >> http://www.w3schools.com/ajax/ >> to get the relevant AJAX information. Works like a charm. >> >> Pretty much using an onChange=grabCountiesfromAnotherPHPpage(); >> function. Code is similar to your example below - slightly different. >> An included 'ajax.js' takes care of the AJAX code, and an additional >> 'counties.php' writes counties based on a "SELECT COUNTY from myTable >> WHERE STATE = $_GET['STATE']" SQL Query in an independent SELECT >> LIST. >> AJAX takes care of the rest by pulling in this SELECT LIST on to the >> original page. >> >> Thanks a ton - this actually turned out to be easier then I thought!! >> >> :) > > Rahul, > > Glad to hear it! Hopefully, this will keep you from abandoning new and > exciting programming horizons that you don't immediately feel > capable of > grasping. After all, if you're going to be an "Internet Architect," > AJAX > is something you'll need to be (at least comfortably) familiar > with. :) > > > Todd Boyd > Web Programmer Indeed! This problem actually opened up my horizon to the whole AJAX foundation. I think what I was most impressed was the ease with which I was able to accomplish this Dynamic state for my select lists, and how effective the script actually is. I actually had two separate SELECT LIST combinations on the page which both needed the same Dynamic functionality. Achieved it by fine-tuning my script a bit. Really liking AJAX right now and ready to dip in my feet deeper. Thanks Todd, appreciate your support! --- Rahul Sitaram Johari Founder, Internet Architects Group, Inc. [Email] sleepwalker(a)rahulsjohari.com [Web] http://www.rahulsjohari.com |