Try the following code:
Remember to use your tables and columns names.!!!
<FORM action="" METHOD="POST" NAME="yourformname">
<select name="category" onchange="CambiaDropDowna(this.form)">
[code=php]
<?
$query="SELECT * FROM merchandise_major_categories";
$result=mysql_query($query);
while($row = mysql_fetch_array($result)){
echo "<option value=\"".$row['merchandise_major_cat_id']."\">".$row['merchandise_major_cat_name']."</option>"."\n";
//Now we query another table for rows
//having merchandise_major_cat_id.
$queryb="SELECT * FROM merchandise_minor_categories WHERE merchandise_major_cat_id = $row['merchandise_major_cat_id']";
$resultb=mysql_query($queryb);
$droplist .= "dropd".$row['merchandise_major_cat_id']."\=\'";
while($rowb = mysql_fetch_array($resultb)){
$droplist .= "<option value=\"".$rowb['merchandise_minor_cat_id']."\">".$rowb['merchandise_minor_cat_name']."</option>"."";
}
$droplist ="';\n";
}
echo "</select></br>";
?>
<div id="subcatSela">
<select name="subcategory">
<option value="">Select subcategory --></option>
</select>
</div>
<script language="javascript1.2">
NS = (!document.layers) && (navigator.userAgent.indexOf('Netscape')!=-1)?true:false;
IE = (document.all)? true:false
<?= $droplist ?>
function CambiaDropDowna(marcador) {
marcador = marcador.category.options[marcador.category.selectedIndex].value;
var dmcontent = eval("dropd" + marcador);
if (dmcontent) {
temp = '<select name="subcategory">"<option value=""></option>"' + dmcontent + '</select>';
}else{
temp = '<input type=text name=new_subcategory>Sugest a subcategory';
}
if(IE) {
subcatSela.innerHTML=(temp)
}else if (NS){
document.getElementById('subcatSela').innerHTML = (temp);
}
}
</script>
<noscript></noscript>
</form>
[/code]
Good luck!!!