From: "Rahul S. Johari" on

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
> -----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

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