Thu
25
May '06
This is same as my previous blog “Dynamic loading of content in a Dropdown box - without Ajax - Part I”, but I have used PHP with MySQL connectiviry for doing this.
<select name=“cmbBusiCategory” id=“cmbBusiCategory” onChange=“ChangeValues()”>
</select><br /><br />
<select name=“cmbSubCategory” id=“cmbSubCategory”>
</select>
< ?_php
require_once “db_common.inc”;
db_connect();
$res = mysql_query(“select * from category where parent_id=0 and language_id=1″);
$i=0;
echo “<script language=’javascript’>\n“;
while($row = mysql_fetch_assoc($res)){
echo “cmbBusiCategory.options[$i] = new Option(”“.$row[”name“].”“);\n“;
echo “cmbBusiCategory.options[$i].value = “ . $row[“id”] . “;\n“;
$s1[$i] = $row[“id”];
$res2 = mysql_query(“select * from category where parent_id=”.$row[“id”].” and language_id=1″);
echo “menu”.$row[“id”] . “= new Array();\n“;
$j = 0;
while($row2 = mysql_fetch_assoc($res2)){
echo “menu”.$row[“id”] .“[”.$j.“]” .“=”” . $row2[”name“] . ““;\n“;
$j++;
}
$i++;
}
echo “function ChangeValues() {\n“;
echo “submenu = new Array();\n“;
echo “cmbSubCategory.options.length = 0;\n“;
echo “switch (cmbBusiCategory.value) {\n“;
for($i=0;$i< count($s1);$i++) {
echo “case “” . $s1[$i] . ““:” . “submenu = menu” . $s1[$i] .“;break;”;
}
echo “}\n“;
echo “for (i=0;i<submenu.length;i++) {\n“;
echo “cmbSubCategory.options[i] = new Option(submenu[i]);\n“;
echo “cmbSubCategory.options[i].value = i;\n“;
echo “}\n“;
echo “}\n“;
echo “ChangeValues();”;
echo “</script>”;
?>

Leave a passing comment »