Hi,
I am using javascript to populate a number of text boxes based on the data item selected in the 1st combo box.
I am now working on making the selection of that combo box populate another combo box with items from another table. I can hard the sql code for the 2nd combo box so that when I select an option it populates more text boxes, but want the contents of the 2nd combo box to dynamically change depending on the selection of the 1st box. I would like this to do it without refreshing the page after each 1st combo box selection.
any help would be massively appreciated as I been stuck on this for a while. The 2nd box does not populate with the below code as I guess the variable isn't populated, I can put '1' in and it selects products with that prodid, but as explained above i'd like it to read the prodid from the 1st combo box.
<?php
require "session_logincheck.php";
function selectProductAndPopulate()
{
require "product_details.php";
require "connect.php";
?>
<html>
<script type="text/javascript">
var prodDetailsArray = new Array();
var prodSpecificDetailsArray = new Array();
<?php
$selectProductQuery = "SELECT * FROM product ORDER BY prodname";
$selectProductResult = mysql_query($selectProductQuery) or die(mysql_error());
// build javascript array
while ($prodrow1=mysql_fetch_array($selectProductResult))
{
echo 'prodDetailsArray['.$prodrow1['prodid'].'] = new Array();';
echo 'prodDetailsArray['.$prodrow1['prodid'].']["prodcompid"] = "'.$prodrow1['prodcompid'].'";';
echo 'prodDetailsArray['.$prodrow1['prodid'].']["prodcode"] = "'.$prodrow1['prodcode'].'";';
echo 'prodDetailsArray['.$prodrow1['prodid'].']["prodname"] = "'.$prodrow1['prodname'].'";';
echo 'prodDetailsArray['.$prodrow1['prodid'].']["prodcategory"] = "'.$prodrow1['prodcategory'].'";';
echo 'prodDetailsArray['.$prodrow1['prodid'].']["produnitprice"] = "'.$prodrow1['produnitprice'].'";';
echo 'prodDetailsArray['.$prodrow1['prodid'].']["prodphoto"] = "'.$prodrow1['prodphoto'].'";';
echo 'prodDetailsArray['.$prodrow1['prodid'].']["proddescription"] = "'.$prodrow1['proddescription'].'";';
}
$selectProductDetailsQuery = "SELECT * FROM productdetail ORDER BY proddetfield";
$selectProductDetailsResult = mysql_query($selectProductDetailsQuery) or die(mysql_error());
// build javascript array
while ($proddetrow1=mysql_fetch_array($selectProductDetailsResult))
{
echo 'prodSpecificDetailsArray['.$proddetrow1['proddetid'].'] = new Array();';
echo 'prodSpecificDetailsArray['.$proddetrow1['proddetid'].']["proddetvalue"] = "'.$proddetrow1['proddetvalue'].'";';
}
?>
function showProductName() {
var prodid = document.prodform.prodid.value;
document.prodform.prodcompid.value = prodDetailsArray[prodid]["prodcompid"];
document.prodform.prodcode.value = prodDetailsArray[prodid]["prodcode"];
document.prodform.prodname.value = prodDetailsArray[prodid]["prodname"];
document.prodform.prodcategory.value = prodDetailsArray[prodid]["prodcategory"];
document.prodform.produnitprice.value = prodDetailsArray[prodid]["produnitprice"];
document.prodform.prodphoto.value = prodDetailsArray[prodid]["prodphoto"];
document.prodform.proddescription.value = prodDetailsArray[prodid]["proddescription"];
}
function showProductSpecName() {
var proddetid = document.prodform.proddetid.value;
document.prodform.editproddetvalue.value = prodSpecificDetailsArray[proddetid]["proddetvalue"];
}
window.onload=function() {
showProductName();
//showProductSpecName();
}
</script>
<form name="prodform">
<div id="topl">
<div class ="toplpost">
<h1 class="title"> Select a product </h1>
<div class="entry">
<select name="prodid" onchange="showProductName()">
<?php
$selectProductQuery = "SELECT * FROM product where userid = '".$_SESSION['userid']."' ORDER BY prodname";
$selectProductResult = mysql_query($selectProductQuery) or die(mysql_error());
while($prodrow1=mysql_fetch_array($selectProductResult))
{
echo '<option value="'.$prodrow1['prodid'].'">'.$prodrow1['prodname'].'</option>';
$productID = $prodrow1['prodid'];
} ?>
</select>
</div>
</div>
</div>
<div id="topm">
<div class ="topmpost">
<h1 class="title"> Select a product detail </h1>
<div class="entry">
<select name="proddetid" onchange="showProductSpecName()">
<?php
$selectProductDetailsQuery = "SELECT * FROM productdetail where prodid = '".$productID."' ORDER BY proddetfield";
$selectProductDetailsResult = mysql_query($selectProductDetailsQuery) or die(mysql_error());
while($proddetrow1=mysql_fetch_array($selectProductDetailsResult))
{
echo '<option value="'.$proddetrow1['proddetid'].'">'.$proddetrow1['proddetfield'].'</option>';
} ?>
</select>
</div>
</div>
</div>
<?php productDetails(); ?>
</form>
</html>
<?php
}?>