davidburley
asked on
PHPNuke dynamic dependant drop down menu with two menus
Hi all
I have a phpnuke site where i want to generate a form with 2 dynamic drop downs pulling info from the database and where the second menu is dependant on the first menu selection.
The fields i am pulling from the database are Job Categories and Job Sub Categories, so the user chooses a job category and the second menu then displays all sub categories within that selection.
the database table contains 3 fields as follows:-
id
Category
Parent
the jobs are then entered in the database thus:-
id=1
Category=Engines
Parent=0
id=2
Category=Mechanic
Parent=1
id=3
Category=Health
Parent=0
id=4
Category=Doctor
Parent=3
etc i.e. if the Parent=0 then its a root category, if anything else then its a sub category, if it is a sub category then the Parent number is the id of the root category
I believe this can be done with OnChange, but would prefer a means of doing this on same page somehow ????
Here is some sample code i started playing with to give you an idea of where to start from:-
function show() {
global $sitename, $db, $admin, $module_name;
include('header.php');
OpenTable();
echo "<tr>;
echo "<td width=\"50%\"><font face=\"Arial\"><select size=\"1\" name=\"Category\">";
$sql = $db->sql_query("SELECT Category from nuke_jobs_Config where Parent='0'");
while (list($Category) = $db->sql_fetchrow($sql)) {
echo "<option value=\"$Category\">$Categ ory</optio n>";
}
echo "</select> Category</font></td>";
echo "</tr>";
echo "<td width=\"50%\"><font face=\"Arial\"><select size=\"1\" name=\"SubCategory\">";
$sql = $db->sql_query("SELECT SubCategory from nuke_jobs_Config where Parent<>'0'");
while (list($SubCategory) = $db->sql_fetchrow($sql)) {
echo "<option value=\"$SubCategory\">$Su bCategory< /option>";
}
echo "</select> SubCategory</font></td>";
echo "</tr>";
CloseTable();
include('footer.php');
}
I have a phpnuke site where i want to generate a form with 2 dynamic drop downs pulling info from the database and where the second menu is dependant on the first menu selection.
The fields i am pulling from the database are Job Categories and Job Sub Categories, so the user chooses a job category and the second menu then displays all sub categories within that selection.
the database table contains 3 fields as follows:-
id
Category
Parent
the jobs are then entered in the database thus:-
id=1
Category=Engines
Parent=0
id=2
Category=Mechanic
Parent=1
id=3
Category=Health
Parent=0
id=4
Category=Doctor
Parent=3
etc i.e. if the Parent=0 then its a root category, if anything else then its a sub category, if it is a sub category then the Parent number is the id of the root category
I believe this can be done with OnChange, but would prefer a means of doing this on same page somehow ????
Here is some sample code i started playing with to give you an idea of where to start from:-
function show() {
global $sitename, $db, $admin, $module_name;
include('header.php');
OpenTable();
echo "<tr>;
echo "<td width=\"50%\"><font face=\"Arial\"><select size=\"1\" name=\"Category\">";
$sql = $db->sql_query("SELECT Category from nuke_jobs_Config where Parent='0'");
while (list($Category) = $db->sql_fetchrow($sql)) {
echo "<option value=\"$Category\">$Categ
}
echo "</select> Category</font></td>";
echo "</tr>";
echo "<td width=\"50%\"><font face=\"Arial\"><select size=\"1\" name=\"SubCategory\">";
$sql = $db->sql_query("SELECT SubCategory from nuke_jobs_Config where Parent<>'0'");
while (list($SubCategory) = $db->sql_fetchrow($sql)) {
echo "<option value=\"$SubCategory\">$Su
}
echo "</select> SubCategory</font></td>";
echo "</tr>";
CloseTable();
include('footer.php');
}
>> I believe this can be done with OnChange, but would prefer a means of doing this on same page somehow ????
Store the results in a JS array an display the results.
Just like this:
<html>
<head>
<script>
var aDetail = [
["1", "Engines", "0"],
["2", "Mechanic", "1"],
["3", "Health", "0"],
["4", "Doctor", "3"],
["5", "Nurse", "3"],
["6", "Oil", "1"],
["7", "Car", "0"]];
function categSelected(theSel){
theForm = theSel.form;
opt = theForm.SubCategory.option s;
opt.length = 0;
if(theSel.value=="") {
opt[0] = new Option("--Select Subcategory--", "");
return;
}
for(i=0;i<aDetail.length;i ++){
if(aDetail[i][2]==theSel.v alue){
subCategoryValue = aDetail[i][1];
for(j=0;j<opt.length;j++){
if(opt[j].value==subCatego ryValue) subCategoryValue="";
}
if(subCategoryValue>""){
opt[opt.length] = new Option(subCategoryValue, subCategoryValue);
}
}
}
}
</script>
</head>
<body>
<form name="myform">
<table>
<TR>
<TD>Category</TD>
<TD colspan="3" >
<select name="Category" onchange="categSelected(th is);" >
<option>--Select Category--</option>
<option value="1"> Engines </option>
<option value="3"> Health </option>
<option value="7"> Car </option>
</select>
</TD>
</TR>
<TR>
<TD valign="top" >Sub Categories</TD>
<TD>
<select name="SubCategory">
<option>--Select Subcategory--</option>
</select>
</TD>
</TR>
</table>
</form>
</body>
</html>
replce the aDetail JS array values with the DB values. Do you need help in that?
Store the results in a JS array an display the results.
Just like this:
<html>
<head>
<script>
var aDetail = [
["1", "Engines", "0"],
["2", "Mechanic", "1"],
["3", "Health", "0"],
["4", "Doctor", "3"],
["5", "Nurse", "3"],
["6", "Oil", "1"],
["7", "Car", "0"]];
function categSelected(theSel){
theForm = theSel.form;
opt = theForm.SubCategory.option
opt.length = 0;
if(theSel.value=="") {
opt[0] = new Option("--Select Subcategory--", "");
return;
}
for(i=0;i<aDetail.length;i
if(aDetail[i][2]==theSel.v
subCategoryValue = aDetail[i][1];
for(j=0;j<opt.length;j++){
if(opt[j].value==subCatego
}
if(subCategoryValue>""){
opt[opt.length] = new Option(subCategoryValue, subCategoryValue);
}
}
}
}
</script>
</head>
<body>
<form name="myform">
<table>
<TR>
<TD>Category</TD>
<TD colspan="3" >
<select name="Category" onchange="categSelected(th
<option>--Select Category--</option>
<option value="1"> Engines </option>
<option value="3"> Health </option>
<option value="7"> Car </option>
</select>
</TD>
</TR>
<TR>
<TD valign="top" >Sub Categories</TD>
<TD>
<select name="SubCategory">
<option>--Select Subcategory--</option>
</select>
</TD>
</TR>
</table>
</form>
</body>
</html>
replce the aDetail JS array values with the DB values. Do you need help in that?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
congrats ldbkutty, on the nail :)
I had to change it ever so slightly to fit in with phpnuke requirements but it works the biz ;)
How could i expand on this in the future to account for more dropdowns, i.e. 3 or more ?
I had to change it ever so slightly to fit in with phpnuke requirements but it works the biz ;)
How could i expand on this in the future to account for more dropdowns, i.e. 3 or more ?
ASKER
ah and another problem i have found:-
How do i extract the variables out to post to the next routine, i.e. modules.php?name=$module_n ame&op=dis play ?
i need to obtain the category name and its ID
i.e. here is the completed function so far:-
// Function to Show Search Page Form
function search() {
global $sitename, $db, $admin, $module_name;
include("header.php");
$ordercolumn = "Date";
OpenTable();
$result = $db->sql_query( "select * from nuke_jobs ORDER BY id" );
$AnimalNums = sql_num_rows($result, $db);
echo "<form method=\"POST\" action=\"modules.php?name= $module_na me&op=disp lay\">"
. "<table border=\"0\" width=\"100%\" cellpadding=\"3\" id=\"AutoNumber1\">"
. "<tr><td><select name=\"Country\" size=1>"
. "<option value=\"\" selected>-Choose Country-</option>"
. "<option value=\"UK\">UK</option>"
. "<option value=\"USA\">USA</option> "
. "<option value=\"Albania\">Albania< /option>"
. "<option value=\"Algeria\">Algeria< /option>"
. "<option value=\"American Samoa\">American Samoa</option>"
. "<option value=\"Andorra\">Andorra< /option>"
. "<option value=\"Angola\">Angola</o ption>"
. "<option value=\"Anguilla\">Anguill a</option> "
. "<option value=\"Antigua\">Antigua< /option>"
. "<option value=\"Argentina\">Argent ina</optio n>"
. "<option value=\"Armenia\">Armenia< /option>"
. "<option value=\"Aruba\">Aruba</opt ion>"
. "<option value=\"Australia\">Austra lia</optio n>"
. "<option value=\"Austria\">Austria< /option>"
. "<option value=\"Azerbaijan\">Azerb aijan</opt ion>"
. "<option value=\"Bahamas\">Bahamas< /option>"
. "<option value=\"Bahrain\">Bahrain< /option>"
. "<option value=\"Bangladesh\">Bangl adesh</opt ion>"
. "<option value=\"Barbados\">Barbado s</option> "
. "<option value=\"Barbuda\">Barbuda< /option>"
. "<option value=\"Belgium\">Belgium< /option>"
. "<option value=\"Belize\">Belize</o ption>"
. "<option value=\"Benin\">Benin</opt ion>"
. "<option value=\"Bermuda\">Bermuda< /option>"
. "<option value=\"Bhutan\">Bhutan</o ption>"
. "<option value=\"Bolivia\">Bolivia< /option>"
. "<option value=\"Bonaire\">Bonaire< /option>"
. "<option value=\"Botswana\">Botswan a</option> "
. "<option value=\"Brazil\">Brazil</o ption>"
. "<option value=\"Virgin islands\">British Virgin isl.</option>"
. "<option value=\"Brunei\">Brunei</o ption>"
. "<option value=\"Bulgaria\">Bulgari a</option> "
. "<option value=\"Burundi\">Burundi< /option>"
. "<option value=\"Cambodia\">Cambodi a</option> "
. "<option value=\"Cameroon\">Cameroo n</option> "
. "<option value=\"Canada\">Canada</o ption>"
. "<option value=\"Cape Verde\">Cape Verde</option>"
. "<option value=\"Cayman islands\">Cayman Islands</option>"
. "<option value=\"Central African Rep\">Central African Rep.</option>"
. "<option value=\"Chad\">Chad</optio n>"
. "<option value=\"Channel islands\">Channel Islands</option>"
. "<option value=\"Chile\">Chile</opt ion>"
. "<option value=\"China\">China</opt ion>"
. "<option value=\"Colombia\">Colombi a</option> "
. "<option value=\"Congo\">Congo</opt ion>"
. "<option value=\"cook islands\">Cook Islands</option>"
. "<option value=\"Costa Rica\">Costa Rica</option>"
. "<option value=\"Croatia\">Croatia< /option>"
. "<option value=\"Curacao\">Curacao< /option>"
. "<option value=\"Cyprus\">Cyprus</o ption>"
. "<option value=\"Czech Republic\">Czech Republic</option>"
. "<option value=\"Denmark\">Denmark< /option>"
. "<option value=\"Djibouti\">Djibout i</option> "
. "<option value=\"Dominica\">Dominic a</option> "
. "<option value=\"Dominican Republic\">Dominican Republic</option>"
. "<option value=\"Ecuador\">Ecuador< /option>"
. "<option value=\"Egypt\">Egypt</opt ion>"
. "<option value=\"El Salvador\">El Salvador</option>"
. "<option value=\"Equatorial Guinea\">Equatorial Guinea</option>"
. "<option value=\"Eritrea\">Eritrea< /option>"
. "<option value=\"Estonia>Estonia</o ption>"
. "<option value=\"Ethiopia\">Ethiopi a</option> "
. "<option value=\"Faeroe isl\">Faeroe Islands</option>"
. "<option value=\"Fiji\">Fiji</optio n>"
. "<option value=\"Finland\">Finland< /option>"
. "<option value=\"France\">France</o ption>"
. "<option value=\"French Guiana\">French Guiana</option>"
. "<option value=\"French Polynesia\">French Polynesia</option>"
. "<option value=\"Gabon\">Gabon</opt ion>"
. "<option value=\"Gambia\">Gambia</o ption>"
. "<option value=\"Georgia\">Georgia< /option>"
. "<option value=\"Gemany\">Germany</ option>"
. "<option value=\"Ghana\">Ghana</opt ion>"
. "<option value=\"Gibraltar\">Gibral tar</optio n>"
. "<option value=\"GB\">Great Britain</option>"
. "<option value=\"Greece\">Greece</o ption>"
. "<option value=\"Greenland\">Greenl and</optio n>"
. "<option value=\"Grenada\">Grenada< /option>"
. "<option value=\"Guadeloupe\">Guade loupe</opt ion>"
. "<option value=\"Guam\">Guam</optio n>"
. "<option value=\"Guatemala\">Guatem ala</optio n>"
. "<option value=\"Guinea\">Guinea</o ption>"
. "<option value=\"Guinea Bissau\">Guinea Bissau</option>"
. "<option value=\"Guyana\">Guyana</o ption>"
. "<option value=\"Haiti\">Haiti</opt ion>"
. "<option value=\"Honduras\">Hondura s</option> "
. "<option value=\"Hong Kong\">Hong Kong</option>"
. "<option value=\"Hungary\">Hungary< /option>"
. "<option value=\"Iceland\">Iceland< /option>"
. "<option value=\"India\">India</opt ion>"
. "<option value=\"Indonesia\">Indone sia</optio n>"
. "<option value=\"Irak\">Irak</optio n>"
. "<option value=\"Iran\">Iran</optio n>"
. "<option value=\"Ireland\">Ireland< /option>"
. "<option value=\"Northern Ireland\">Ireland, Northern</option>"
. "<option value=\"Israel\">Israel</o ption>"
. "<option value=\"Italy\">Italy</opt ion>"
. "<option value=\"Ivory Coast\">Ivory Coast</option>"
. "<option value=\"Jamaica\">Jamaica< /option>"
. "<option value=\"Japan\">Japan</opt ion>"
. "<option value=\"Jordan\">Jordan</o ption>"
. "<option value=\"Kazakhstan\">Kazak hstan</opt ion>"
. "<option value=\"Kenya\">Kenya</opt ion>"
. "<option value=\"Kuwait\">Kuwait</o ption>"
. "<option value=\"Kyrgyzstan\">Kyrgy zstan</opt ion>"
. "<option value=\"Latvia\">Latvia</o ption>"
. "<option value=\"Lebanon\">Lebanon< /option>"
. "<option value=\"Liberia\">Liberia< /option>"
. "<option value=\"Liechtenstein\">Li echtenstei n</option> "
. "<option value=\"Lithuania\">Lithua nia</optio n>"
. "<option value=\"Luxembourg\">Luxem bourg</opt ion>"
. "<option value=\"Macau\">Macau</opt ion>"
. "<option value=\"Macedonia\">Macedo nia</optio n>"
. "<option value=\"Madagascar\">Madag ascar</opt ion>"
. "<option value=\"Malawi\">Malawi</o ption>"
. "<option value=\"Malaysia\">Malaysi a</option> "
. "<option value=\"Maldives\">Maldive s</option> "
. "<option value=\"Mali\">Mali</optio n>"
. "<option value=\"Malta\">Malta</opt ion>"
. "<option value=\"Marshall isl\">Marshall Islands</option>"
. "<option value=\"Martinique\">Marti nique</opt ion>"
. "<option value=\"Mauritania\">Mauri tania</opt ion>"
. "<option value=\"Mauritius\">Maurit ius</optio n>"
. "<option value=\"Mexico\">Mexico</o ption>"
. "<option value=\"Micronesia\">Micro nesia</opt ion>"
. "<option value=\"Moldova\">Moldova< /option>"
. "<option value=\"Monaco\">Monaco</o ption>"
. "<option value=\"Mongolia\">Mongoli a</option> "
. "<option value=\"Montserrat\">Monts errat</opt ion>"
. "<option value=\"Morocco\">Morocco< /option>"
. "<option value=\"Mozambique\">Mozam bique</opt ion>"
. "<option value=\"Myanmar\">Myanmar/ Burma</opt ion>"
. "<option value=\"Namibia\">Namibia< /option>"
. "<option value=\"Nepal\">Nepal</opt ion>"
. "<option value=\"Netherlands\">Neth erlands</o ption>"
. "<option value=\"Netherlands Antilles\">Netherlands Antilles</option>"
. "<option value=\"New Caledonia\">New Caledonia</option>"
. "<option value=\"New Zealand\">New Zealand</option>"
. "<option value=\"Nicaragua\">Nicara gua</optio n>"
. "<option value=\"Niger\">Niger</opt ion>"
. "<option value=\"Nigeria\">Nigeria< /option>"
. "<option value=\"Norway\">Norway</o ption>"
. "<option value=\"Oman\">Oman</optio n>"
. "<option value=\"Palau\">Palau</opt ion>"
. "<option value=\"Panama\">Panama</o ption>"
. "<option value=\"Papua New Guinea\">Papua New Guinea</option>"
. "<option value=\"Paraguay\">Paragua y</option> "
. "<option value=\"Peru\">Peru</optio n>"
. "<option value=\"Philippines\">Phil ippines</o ption>"
. "<option value=\"Poland\">Poland</o ption>"
. "<option value=\"Portugal\">Portuga l</option> "
. "<option value=\"Puerto Rico\">Puerto Rico</option>"
. "<option value=\"Qatar\">Qatar</opt ion>"
. "<option value=\"Reunion\">Reunion< /option>"
. "<option value=\"Rwanda\">Rwanda</o ption>"
. "<option value=\"Saba\">Saba</optio n>"
. "<option value=\"Saipan\">Saipan</o ption>"
. "<option value=\"Saudi Arabia\">Saudi Arabia</option>"
. "<option value=\"Scotland\">Scotlan d</option> "
. "<option value=\"Senegal\">Senegal< /option>"
. "<option value=\"Seychelles\">Seych elles</opt ion>"
. "<option value=\"Sierra Leone\">Sierra Leone</option>"
. "<option value=\"Singapore\">Singap ore</optio n>"
. "<option value=\"Slovac Republic\">Slovak Republic</option>"
. "<option value=\"Slovenia\">Sloveni a</option> "
. "<option value=\"South Africa\">South Africa</option>"
. "<option value=\"South Korea\">South Korea</option>"
. "<option value=\"Spain\">Spain</opt ion>"
. "<option value=\"Sri Lanka\">Sri Lanka</option>"
. "<option value=\"Sudan\">Sudan</opt ion>"
. "<option value=\"Suriname\">Surinam e</option> "
. "<option value=\"Swaziland\">Swazil and</optio n>"
. "<option value=\"Sweden\">Sweden</o ption>"
. "<option value=\"Switzerland\">Swit zerland</o ption>"
. "<option value=\"Syria\">Syria</opt ion>"
. "<option value=\"Taiwan\">Taiwan</o ption>"
. "<option value=\"Tanzania\">Tanzani a</option> "
. "<option value=\"Thailand\">Thailan d</option> "
. "<option value=\"Togo\">Togo</optio n>"
. "<option value=\"Trinidad-Tobago\"> Trinidad-T obago</opt ion>"
. "<option value=\"Tunesia\">Tunisia< /option>"
. "<option value=\"Turkey\">Turkey</o ption>"
. "<option value=\"Turkmenistan\">Tur kmenistan< /option>"
. "<option value=\"United Arab Emirates\">United Arab Emirates</option>"
. "<option value=\"U.S. Virgin islands\">U.S. Virgin Islands</option>"
. "<option value=\"USA\">U.S.A.</opti on>"
. "<option value=\"Uganda\">Uganda</o ption>"
. "<option value=\"United Kingdom\">United Kingdom</option>"
. "<option value=\"Urugay\">Uruguay</ option>"
. "<option value=\"Uzbekistan\">Uzbek istan</opt ion>"
. "<option value=\"Vanuatu\">Vanuatu< /option>"
. "<option value=\"Vatican City\">Vatican City</option>"
. "<option value=\"Venezuela\">Venezu ela</optio n>"
. "<option value=\"Vietnam\">Vietnam< /option>"
. "<option value=\"Wales\">Wales</opt ion>"
. "<option value=\"Yemen\">Yemen</opt ion>"
. "<option value=\"Zaire\">Zaire</opt ion>"
. "<option value=\"Zambia\">Zambia</o ption>"
. "<option value=\"Zimbabwe\">Zimbabw e</option> "
. "</select> Country</font></td>"
. "</tr>"
. "<tr>"
. "<td width=\"50%\"><font face=\"Arial\"><select size=\"1\" name=\"Ability\">"
. "<option value=\"\" selected>-Choose Fluency Level required -</option>"
. " <option value=Minimal>Minimal</opt ion>"
. " <option value=Medium>Medium</optio n>"
. " <option value=Good>Good</option>"
. " <option value=Fluent>Fluent</optio n>"
. " </select> Fluency Ability</font></td>"
. "</tr>";
?>
<script>
var aDetail = new Array();
function categSelected(theSel){
theForm = theSel.form;
opt = theForm.SubCategory.option s;
opt.length = 0;
if(theSel.value=="") {
opt[0] = new Option("--Select Subcategory--", "");
return;
}
for(i=0;i<aDetail.length;i ++){
if(aDetail[i][2]==theSel.v alue){
subCategoryValue = aDetail[i][1];
for(j=0;j<opt.length;j++){
if(opt[j].value==subCatego ryValue) subCategoryValue="";
}
if(subCategoryValue>""){
opt[opt.length] = new Option(subCategoryValue, subCategoryValue);
}
}
}
}
</script>
<?php
$res = $db->sql_query( "SELECT * from nuke_jobs_Config" ) or die ("Query Failed: " . mysql_error());
$i = 0;
$j = 0;
$category_name = array();
$category_value = array();
while ($row = $db->sql_fetchrow($res)) {
if($row['ParentID'] == "0") {
$category_value[$j] = $row['CatID'];
$category_name[$j] = $row['Category'];
$j++;
} // End if loop
?>
<script>
aDetail[<?=$i?>] = new Array();
aDetail[<?=$i?>][0] = "<?=$row['CatID']?>";
aDetail[<?=$i?>][1] = "<?=$row['Category']?>";
aDetail[<?=$i?>][2] = "<?=$row['ParentID']?>";
</script>
<?php
$i++;
} // End while loop
?>
<TR>
<TD>
<select name="Category" onchange="categSelected(th is);" >
<option>--Select Category--</option>
<?php
for($t=0; $t<count($category_value); $t++) {
echo "<option value='".$category_value[$ t]."'>".$c ategory_na me[$t]."</ option>";
}
?>
Category </select>
</TD>
</TR>
<TR>
<TD>
<select name="SubCategory">
<option>--Select Subcategory--</option>
Sub Categories</select>
</TD>
</TR>
<?php
$Category=$category_value[ $t];
echo " <tr>"
. "<td width=\"50%\">"
. " <input type=\"submit\" value=\"Submit\" name=\"B1\"><input type=\"reset\" value=\"Reset\" name=\"B2\"></p>"
. "</td>"
. " </tr>"
. " </table>"
. "<input type=\"hidden\" name=\"ordercolumn\" value=$ordercolumn>"
. "</form>";
CloseTable();
include ("footer.php");
}
How do i extract the variables out to post to the next routine, i.e. modules.php?name=$module_n
i need to obtain the category name and its ID
i.e. here is the completed function so far:-
// Function to Show Search Page Form
function search() {
global $sitename, $db, $admin, $module_name;
include("header.php");
$ordercolumn = "Date";
OpenTable();
$result = $db->sql_query( "select * from nuke_jobs ORDER BY id" );
$AnimalNums = sql_num_rows($result, $db);
echo "<form method=\"POST\" action=\"modules.php?name=
. "<table border=\"0\" width=\"100%\" cellpadding=\"3\" id=\"AutoNumber1\">"
. "<tr><td><select name=\"Country\" size=1>"
. "<option value=\"\" selected>-Choose Country-</option>"
. "<option value=\"UK\">UK</option>"
. "<option value=\"USA\">USA</option>
. "<option value=\"Albania\">Albania<
. "<option value=\"Algeria\">Algeria<
. "<option value=\"American Samoa\">American Samoa</option>"
. "<option value=\"Andorra\">Andorra<
. "<option value=\"Angola\">Angola</o
. "<option value=\"Anguilla\">Anguill
. "<option value=\"Antigua\">Antigua<
. "<option value=\"Argentina\">Argent
. "<option value=\"Armenia\">Armenia<
. "<option value=\"Aruba\">Aruba</opt
. "<option value=\"Australia\">Austra
. "<option value=\"Austria\">Austria<
. "<option value=\"Azerbaijan\">Azerb
. "<option value=\"Bahamas\">Bahamas<
. "<option value=\"Bahrain\">Bahrain<
. "<option value=\"Bangladesh\">Bangl
. "<option value=\"Barbados\">Barbado
. "<option value=\"Barbuda\">Barbuda<
. "<option value=\"Belgium\">Belgium<
. "<option value=\"Belize\">Belize</o
. "<option value=\"Benin\">Benin</opt
. "<option value=\"Bermuda\">Bermuda<
. "<option value=\"Bhutan\">Bhutan</o
. "<option value=\"Bolivia\">Bolivia<
. "<option value=\"Bonaire\">Bonaire<
. "<option value=\"Botswana\">Botswan
. "<option value=\"Brazil\">Brazil</o
. "<option value=\"Virgin islands\">British Virgin isl.</option>"
. "<option value=\"Brunei\">Brunei</o
. "<option value=\"Bulgaria\">Bulgari
. "<option value=\"Burundi\">Burundi<
. "<option value=\"Cambodia\">Cambodi
. "<option value=\"Cameroon\">Cameroo
. "<option value=\"Canada\">Canada</o
. "<option value=\"Cape Verde\">Cape Verde</option>"
. "<option value=\"Cayman islands\">Cayman Islands</option>"
. "<option value=\"Central African Rep\">Central African Rep.</option>"
. "<option value=\"Chad\">Chad</optio
. "<option value=\"Channel islands\">Channel Islands</option>"
. "<option value=\"Chile\">Chile</opt
. "<option value=\"China\">China</opt
. "<option value=\"Colombia\">Colombi
. "<option value=\"Congo\">Congo</opt
. "<option value=\"cook islands\">Cook Islands</option>"
. "<option value=\"Costa Rica\">Costa Rica</option>"
. "<option value=\"Croatia\">Croatia<
. "<option value=\"Curacao\">Curacao<
. "<option value=\"Cyprus\">Cyprus</o
. "<option value=\"Czech Republic\">Czech Republic</option>"
. "<option value=\"Denmark\">Denmark<
. "<option value=\"Djibouti\">Djibout
. "<option value=\"Dominica\">Dominic
. "<option value=\"Dominican Republic\">Dominican Republic</option>"
. "<option value=\"Ecuador\">Ecuador<
. "<option value=\"Egypt\">Egypt</opt
. "<option value=\"El Salvador\">El Salvador</option>"
. "<option value=\"Equatorial Guinea\">Equatorial Guinea</option>"
. "<option value=\"Eritrea\">Eritrea<
. "<option value=\"Estonia>Estonia</o
. "<option value=\"Ethiopia\">Ethiopi
. "<option value=\"Faeroe isl\">Faeroe Islands</option>"
. "<option value=\"Fiji\">Fiji</optio
. "<option value=\"Finland\">Finland<
. "<option value=\"France\">France</o
. "<option value=\"French Guiana\">French Guiana</option>"
. "<option value=\"French Polynesia\">French Polynesia</option>"
. "<option value=\"Gabon\">Gabon</opt
. "<option value=\"Gambia\">Gambia</o
. "<option value=\"Georgia\">Georgia<
. "<option value=\"Gemany\">Germany</
. "<option value=\"Ghana\">Ghana</opt
. "<option value=\"Gibraltar\">Gibral
. "<option value=\"GB\">Great Britain</option>"
. "<option value=\"Greece\">Greece</o
. "<option value=\"Greenland\">Greenl
. "<option value=\"Grenada\">Grenada<
. "<option value=\"Guadeloupe\">Guade
. "<option value=\"Guam\">Guam</optio
. "<option value=\"Guatemala\">Guatem
. "<option value=\"Guinea\">Guinea</o
. "<option value=\"Guinea Bissau\">Guinea Bissau</option>"
. "<option value=\"Guyana\">Guyana</o
. "<option value=\"Haiti\">Haiti</opt
. "<option value=\"Honduras\">Hondura
. "<option value=\"Hong Kong\">Hong Kong</option>"
. "<option value=\"Hungary\">Hungary<
. "<option value=\"Iceland\">Iceland<
. "<option value=\"India\">India</opt
. "<option value=\"Indonesia\">Indone
. "<option value=\"Irak\">Irak</optio
. "<option value=\"Iran\">Iran</optio
. "<option value=\"Ireland\">Ireland<
. "<option value=\"Northern Ireland\">Ireland, Northern</option>"
. "<option value=\"Israel\">Israel</o
. "<option value=\"Italy\">Italy</opt
. "<option value=\"Ivory Coast\">Ivory Coast</option>"
. "<option value=\"Jamaica\">Jamaica<
. "<option value=\"Japan\">Japan</opt
. "<option value=\"Jordan\">Jordan</o
. "<option value=\"Kazakhstan\">Kazak
. "<option value=\"Kenya\">Kenya</opt
. "<option value=\"Kuwait\">Kuwait</o
. "<option value=\"Kyrgyzstan\">Kyrgy
. "<option value=\"Latvia\">Latvia</o
. "<option value=\"Lebanon\">Lebanon<
. "<option value=\"Liberia\">Liberia<
. "<option value=\"Liechtenstein\">Li
. "<option value=\"Lithuania\">Lithua
. "<option value=\"Luxembourg\">Luxem
. "<option value=\"Macau\">Macau</opt
. "<option value=\"Macedonia\">Macedo
. "<option value=\"Madagascar\">Madag
. "<option value=\"Malawi\">Malawi</o
. "<option value=\"Malaysia\">Malaysi
. "<option value=\"Maldives\">Maldive
. "<option value=\"Mali\">Mali</optio
. "<option value=\"Malta\">Malta</opt
. "<option value=\"Marshall isl\">Marshall Islands</option>"
. "<option value=\"Martinique\">Marti
. "<option value=\"Mauritania\">Mauri
. "<option value=\"Mauritius\">Maurit
. "<option value=\"Mexico\">Mexico</o
. "<option value=\"Micronesia\">Micro
. "<option value=\"Moldova\">Moldova<
. "<option value=\"Monaco\">Monaco</o
. "<option value=\"Mongolia\">Mongoli
. "<option value=\"Montserrat\">Monts
. "<option value=\"Morocco\">Morocco<
. "<option value=\"Mozambique\">Mozam
. "<option value=\"Myanmar\">Myanmar/
. "<option value=\"Namibia\">Namibia<
. "<option value=\"Nepal\">Nepal</opt
. "<option value=\"Netherlands\">Neth
. "<option value=\"Netherlands Antilles\">Netherlands Antilles</option>"
. "<option value=\"New Caledonia\">New Caledonia</option>"
. "<option value=\"New Zealand\">New Zealand</option>"
. "<option value=\"Nicaragua\">Nicara
. "<option value=\"Niger\">Niger</opt
. "<option value=\"Nigeria\">Nigeria<
. "<option value=\"Norway\">Norway</o
. "<option value=\"Oman\">Oman</optio
. "<option value=\"Palau\">Palau</opt
. "<option value=\"Panama\">Panama</o
. "<option value=\"Papua New Guinea\">Papua New Guinea</option>"
. "<option value=\"Paraguay\">Paragua
. "<option value=\"Peru\">Peru</optio
. "<option value=\"Philippines\">Phil
. "<option value=\"Poland\">Poland</o
. "<option value=\"Portugal\">Portuga
. "<option value=\"Puerto Rico\">Puerto Rico</option>"
. "<option value=\"Qatar\">Qatar</opt
. "<option value=\"Reunion\">Reunion<
. "<option value=\"Rwanda\">Rwanda</o
. "<option value=\"Saba\">Saba</optio
. "<option value=\"Saipan\">Saipan</o
. "<option value=\"Saudi Arabia\">Saudi Arabia</option>"
. "<option value=\"Scotland\">Scotlan
. "<option value=\"Senegal\">Senegal<
. "<option value=\"Seychelles\">Seych
. "<option value=\"Sierra Leone\">Sierra Leone</option>"
. "<option value=\"Singapore\">Singap
. "<option value=\"Slovac Republic\">Slovak Republic</option>"
. "<option value=\"Slovenia\">Sloveni
. "<option value=\"South Africa\">South Africa</option>"
. "<option value=\"South Korea\">South Korea</option>"
. "<option value=\"Spain\">Spain</opt
. "<option value=\"Sri Lanka\">Sri Lanka</option>"
. "<option value=\"Sudan\">Sudan</opt
. "<option value=\"Suriname\">Surinam
. "<option value=\"Swaziland\">Swazil
. "<option value=\"Sweden\">Sweden</o
. "<option value=\"Switzerland\">Swit
. "<option value=\"Syria\">Syria</opt
. "<option value=\"Taiwan\">Taiwan</o
. "<option value=\"Tanzania\">Tanzani
. "<option value=\"Thailand\">Thailan
. "<option value=\"Togo\">Togo</optio
. "<option value=\"Trinidad-Tobago\">
. "<option value=\"Tunesia\">Tunisia<
. "<option value=\"Turkey\">Turkey</o
. "<option value=\"Turkmenistan\">Tur
. "<option value=\"United Arab Emirates\">United Arab Emirates</option>"
. "<option value=\"U.S. Virgin islands\">U.S. Virgin Islands</option>"
. "<option value=\"USA\">U.S.A.</opti
. "<option value=\"Uganda\">Uganda</o
. "<option value=\"United Kingdom\">United Kingdom</option>"
. "<option value=\"Urugay\">Uruguay</
. "<option value=\"Uzbekistan\">Uzbek
. "<option value=\"Vanuatu\">Vanuatu<
. "<option value=\"Vatican City\">Vatican City</option>"
. "<option value=\"Venezuela\">Venezu
. "<option value=\"Vietnam\">Vietnam<
. "<option value=\"Wales\">Wales</opt
. "<option value=\"Yemen\">Yemen</opt
. "<option value=\"Zaire\">Zaire</opt
. "<option value=\"Zambia\">Zambia</o
. "<option value=\"Zimbabwe\">Zimbabw
. "</select> Country</font></td>"
. "</tr>"
. "<tr>"
. "<td width=\"50%\"><font face=\"Arial\"><select size=\"1\" name=\"Ability\">"
. "<option value=\"\" selected>-Choose Fluency Level required -</option>"
. " <option value=Minimal>Minimal</opt
. " <option value=Medium>Medium</optio
. " <option value=Good>Good</option>"
. " <option value=Fluent>Fluent</optio
. " </select> Fluency Ability</font></td>"
. "</tr>";
?>
<script>
var aDetail = new Array();
function categSelected(theSel){
theForm = theSel.form;
opt = theForm.SubCategory.option
opt.length = 0;
if(theSel.value=="") {
opt[0] = new Option("--Select Subcategory--", "");
return;
}
for(i=0;i<aDetail.length;i
if(aDetail[i][2]==theSel.v
subCategoryValue = aDetail[i][1];
for(j=0;j<opt.length;j++){
if(opt[j].value==subCatego
}
if(subCategoryValue>""){
opt[opt.length] = new Option(subCategoryValue, subCategoryValue);
}
}
}
}
</script>
<?php
$res = $db->sql_query( "SELECT * from nuke_jobs_Config" ) or die ("Query Failed: " . mysql_error());
$i = 0;
$j = 0;
$category_name = array();
$category_value = array();
while ($row = $db->sql_fetchrow($res)) {
if($row['ParentID'] == "0") {
$category_value[$j] = $row['CatID'];
$category_name[$j] = $row['Category'];
$j++;
} // End if loop
?>
<script>
aDetail[<?=$i?>] = new Array();
aDetail[<?=$i?>][0] = "<?=$row['CatID']?>";
aDetail[<?=$i?>][1] = "<?=$row['Category']?>";
aDetail[<?=$i?>][2] = "<?=$row['ParentID']?>";
</script>
<?php
$i++;
} // End while loop
?>
<TR>
<TD>
<select name="Category" onchange="categSelected(th
<option>--Select Category--</option>
<?php
for($t=0; $t<count($category_value);
echo "<option value='".$category_value[$
}
?>
Category </select>
</TD>
</TR>
<TR>
<TD>
<select name="SubCategory">
<option>--Select Subcategory--</option>
Sub Categories</select>
</TD>
</TR>
<?php
$Category=$category_value[
echo " <tr>"
. "<td width=\"50%\">"
. " <input type=\"submit\" value=\"Submit\" name=\"B1\"><input type=\"reset\" value=\"Reset\" name=\"B2\"></p>"
. "</td>"
. " </tr>"
. " </table>"
. "<input type=\"hidden\" name=\"ordercolumn\" value=$ordercolumn>"
. "</form>";
CloseTable();
include ("footer.php");
}
>> How could i expand on this in the future to account for more dropdowns, i.e. 3 or more ?
One example:
<html>
<head>
<script>
var aMember = [
["1", "a", "Team A-a", "007", "John Doe1"],
["1", "a", "Team A-a", "008", "John Doe2"],
["1", "a", "Team A-a", "009", "John Doe3"],
["1", "a", "Team A-a", "010", "John Doe4"],
["1", "b", "Team A-b", "107", "Jane Doe1"],
["1", "b", "Team A-b", "108", "Jane Doe2"],
["1", "b", "Team A-b", "109", "Jane Doe3"],
["1", "b", "Team A-b", "101", "Jane Doe4"],
["1", "b", "Team A-b", "102", "Jane Doe5"],
["1", "c", "Team A-c", "017", "Johan Doe1"],
["1", "c", "Team A-c", "018", "Johan Doe2"],
["1", "c", "Team A-c", "019", "Johan Doe3"],
["2", "d", "Team B-d", "020", "John2 Doe1"],
["2", "d", "Team B-d", "027", "John2 Doe2"],
["2", "d", "Team B-d", "207", "John2 Doe3"],
["2", "d", "Team B-d", "208", "John2 Doe4"],
["2", "e", "Team B-e", "209", "Jane2 Doe1"],
["2", "e", "Team B-e", "028", "Jane2 Doe2"],
["2", "e", "Team B-e", "029", "Jane2 Doe3"],
["2", "e", "Team B-e", "030", "Jane2 Doe4"],
["2", "e", "Team B-e", "307", "Jane2 Doe5"],
["2", "f", "Team B-f", "047", "Johan2 Doe1"],
["2", "f", "Team B-f", "057", "Johan2 Doe2"],
["2", "f", "Team B-f", "067", "Johan2 Doe3"]];
function deptSelected(theSel){
theForm = theSel.form;
opt = theForm.members.options;
opt.length = 0;
opt = theForm.teams.options;
opt.length = 0;
if(theSel.value=="") return;
for(i=0;i<aMember.length;i ++){
if(aMember[i][0]==theSel.v alue){
tValue = aMember[i][1];
tName = aMember[i][2];
for(j=0;j<opt.length;j++){
if(opt[j].value==tValue) tValue="";
}
if(tValue>""){
opt[opt.length] = new Option(tName, tValue);
}
}
}
}
function teamSelected(theSel){
theForm = theSel.form;
opt = theForm.members.options;
opt.length = 0;
tOpt = theForm.teams.options;
for(i=0;i<aMember.length;i ++){
for(j=0;j<tOpt.length;j++) {
if(tOpt[j].selected==true) {
if(aMember[i][1]==tOpt[j]. value){
mValue = aMember[i][3];
mName = aMember[i][4];
opt[opt.length] = new Option(mName, mValue);
}
}
}
}
}
</script>
</head>
<body>
<form>
<table>
<TR>
<TD>Department</TD>
<TD colspan="3" >
<select name="department" onchange="deptSelected(thi s);" >
<option>--Please select--</option>
<option value="1"> Department A </option>
<option value="2"> Department B </option>
</select>
</TD>
<TD valign="top" >Teams</TD>
<TD>
<select multiple="true" name="teams" onchange="teamSelected(thi s);">
</select>
</TD>
<TD valign="top" >Members</TD>
<TD>
<select multiple="true" name="members">
</select>
</TD>
</TR>
</table>
</form>
</body>
</html>
But, would be better if you could ask your other questions as new post.
BTW, i dont understand what you mean by: < How do i extract the variables out to post to the next routine, i.e. modules.php?name=$module_n ame&op=dis play ?
i need to obtain the category name and its ID >
May be i am too tired with this, but better if you could post this as a new question, so other experts might also try to help you.
Cheers!
One example:
<html>
<head>
<script>
var aMember = [
["1", "a", "Team A-a", "007", "John Doe1"],
["1", "a", "Team A-a", "008", "John Doe2"],
["1", "a", "Team A-a", "009", "John Doe3"],
["1", "a", "Team A-a", "010", "John Doe4"],
["1", "b", "Team A-b", "107", "Jane Doe1"],
["1", "b", "Team A-b", "108", "Jane Doe2"],
["1", "b", "Team A-b", "109", "Jane Doe3"],
["1", "b", "Team A-b", "101", "Jane Doe4"],
["1", "b", "Team A-b", "102", "Jane Doe5"],
["1", "c", "Team A-c", "017", "Johan Doe1"],
["1", "c", "Team A-c", "018", "Johan Doe2"],
["1", "c", "Team A-c", "019", "Johan Doe3"],
["2", "d", "Team B-d", "020", "John2 Doe1"],
["2", "d", "Team B-d", "027", "John2 Doe2"],
["2", "d", "Team B-d", "207", "John2 Doe3"],
["2", "d", "Team B-d", "208", "John2 Doe4"],
["2", "e", "Team B-e", "209", "Jane2 Doe1"],
["2", "e", "Team B-e", "028", "Jane2 Doe2"],
["2", "e", "Team B-e", "029", "Jane2 Doe3"],
["2", "e", "Team B-e", "030", "Jane2 Doe4"],
["2", "e", "Team B-e", "307", "Jane2 Doe5"],
["2", "f", "Team B-f", "047", "Johan2 Doe1"],
["2", "f", "Team B-f", "057", "Johan2 Doe2"],
["2", "f", "Team B-f", "067", "Johan2 Doe3"]];
function deptSelected(theSel){
theForm = theSel.form;
opt = theForm.members.options;
opt.length = 0;
opt = theForm.teams.options;
opt.length = 0;
if(theSel.value=="") return;
for(i=0;i<aMember.length;i
if(aMember[i][0]==theSel.v
tValue = aMember[i][1];
tName = aMember[i][2];
for(j=0;j<opt.length;j++){
if(opt[j].value==tValue) tValue="";
}
if(tValue>""){
opt[opt.length] = new Option(tName, tValue);
}
}
}
}
function teamSelected(theSel){
theForm = theSel.form;
opt = theForm.members.options;
opt.length = 0;
tOpt = theForm.teams.options;
for(i=0;i<aMember.length;i
for(j=0;j<tOpt.length;j++)
if(tOpt[j].selected==true)
if(aMember[i][1]==tOpt[j].
mValue = aMember[i][3];
mName = aMember[i][4];
opt[opt.length] = new Option(mName, mValue);
}
}
}
}
}
</script>
</head>
<body>
<form>
<table>
<TR>
<TD>Department</TD>
<TD colspan="3" >
<select name="department" onchange="deptSelected(thi
<option>--Please select--</option>
<option value="1"> Department A </option>
<option value="2"> Department B </option>
</select>
</TD>
<TD valign="top" >Teams</TD>
<TD>
<select multiple="true" name="teams" onchange="teamSelected(thi
</select>
</TD>
<TD valign="top" >Members</TD>
<TD>
<select multiple="true" name="members">
</select>
</TD>
</TR>
</table>
</form>
</body>
</html>
But, would be better if you could ask your other questions as new post.
BTW, i dont understand what you mean by: < How do i extract the variables out to post to the next routine, i.e. modules.php?name=$module_n
i need to obtain the category name and its ID >
May be i am too tired with this, but better if you could post this as a new question, so other experts might also try to help you.
Cheers!
I think ive just answered something similar to this please have a look at this question
https://www.experts-exchange.com/questions/21239577/Populating-a-dropdown-menu-dynamically.html