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 ...
|
|||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
|
|||
|
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 |
|
|||
|
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 ================== |
![]() |
| Thread Tools | |
| Display Modes | |
|
|