Dynamic multiple dropdown population

This is a discussion on Dynamic multiple dropdown population within the MySQL Database forums, part of the Database Forums category; Greetings: I have a table with 3 pieces of data that I would like to use to dynamically populate 3 ...


Go Back   Usenet Forums > Database Forums > MySQL Database

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 09-14-2006
Jeff Gardner
 
Posts: n/a
Default Dynamic multiple dropdown population

Greetings:

I have a table with 3 pieces of data that I would like to use to
dynamically populate 3 drop downs using javascript. The fields are
state, orgname, office. If it's not already obvious, I'd like orgname
drop down to change when a state is selected and I would like office
drop down to change when an orgname is selected. I can do this with
multiple tables but am having difficulty getting it to work when the
data is in the same table. Below is the code to get state and orgname
from separate tables(the code reflects one table and is broken in the
below state). It's the best I can come up with and I can see why it
doesn't work but I know there must be a way to pull all the pieces from
a single table. Advice is much appreciated.

<code>
$list=$_SESSION['list'];
if(isset($list) and strlen($list) > 0){
$quer=mysql_query("SELECT DISTINCT orgname,org_id FROM organization
WHERE state=$list ORDER BY orgname");
}else{$quer=mysql_query("SELECT DISTINCT orgname FROM organization ORDER
BY orgname"); }
$quer2=mysql_query("SELECT DISTINCT state FROM organization ORDER BY
state");

//first drop down
echo "<select name='state' onchange=\"reload(this.form)\"><option
value='0'>Select one</option>";
while($state = mysql_fetch_array($quer2)) {
if($state['org_id']==@$list){echo "<option selected
value='$state[state]'>$state[state]</option>"."<BR>";}
else{echo "<option value='$state[state]'>$state[state]</option>";}
}
echo "</select>";

//next drop down
echo "<select name='org'><option value=''>Select one</option>";
while($org = mysql_fetch_array($quer)) {
echo "<option value='$org[org_id]'>$org[orgname]</option>";
}
echo "</select>";
</code>
--

Regards,

Jeff Gardner
___________________________

"Contrary to popular belief, Unix is user friendly. It just happens
to be very selective about who its friends are." --Kyle Hearn
Reply With Quote
  #2 (permalink)  
Old 09-14-2006
Jerry Stuckle
 
Posts: n/a
Default Re: Dynamic multiple dropdown population

Jeff Gardner wrote:
> Greetings:
>
> I have a table with 3 pieces of data that I would like to use to
> dynamically populate 3 drop downs using javascript. The fields are
> state, orgname, office. If it's not already obvious, I'd like orgname
> drop down to change when a state is selected and I would like office
> drop down to change when an orgname is selected. I can do this with
> multiple tables but am having difficulty getting it to work when the
> data is in the same table. Below is the code to get state and orgname
> from separate tables(the code reflects one table and is broken in the
> below state). It's the best I can come up with and I can see why it
> doesn't work but I know there must be a way to pull all the pieces from
> a single table. Advice is much appreciated.
>
> <code>
> $list=$_SESSION['list'];
> if(isset($list) and strlen($list) > 0){
> $quer=mysql_query("SELECT DISTINCT orgname,org_id FROM organization
> WHERE state=$list ORDER BY orgname");
> }else{$quer=mysql_query("SELECT DISTINCT orgname FROM organization ORDER
> BY orgname"); }
> $quer2=mysql_query("SELECT DISTINCT state FROM organization ORDER BY
> state");
>
> //first drop down
> echo "<select name='state' onchange=\"reload(this.form)\"><option
> value='0'>Select one</option>";
> while($state = mysql_fetch_array($quer2)) {
> if($state['org_id']==@$list){echo "<option selected
> value='$state[state]'>$state[state]</option>"."<BR>";}
> else{echo "<option value='$state[state]'>$state[state]</option>";}
> }
> echo "</select>";
>
> //next drop down
> echo "<select name='org'><option value=''>Select one</option>";
> while($org = mysql_fetch_array($quer)) {
> echo "<option value='$org[org_id]'>$org[orgname]</option>";
> }
> echo "</select>";
> </code>


Well, a couple of things. First of all, in your first dropdown you have

if ($state['org_id']==@$list ...

What is $state['org_id']? Also, you should be checking to see if $list
is not set before the comparison (all you're doing is hiding the error
with the '@').

But what is the incorrect output (the generated code)? That would help
a lot. To test the code here I'd have to build a sample database and
try to run your code.

Or better yet, to you have a url?

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are Off
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT +1. The time now is 09:26 AM.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.0.0