?
Solved

How Do I make a select box change on below select boxes according to above one

Posted on 2009-04-09
1
Medium Priority
?
629 Views
Last Modified: 2012-05-06

I am in a problem with select box thing. In our display there are a number of select boxes from top to Bottom ..  When I Change one value in Top select Box the corresponding change must occur
in Below select boxes.   The Data Retrieved from corresponding tables.


 I have some Select Boxes.
 Top one is CARD SIZE Box , below one is COLOR BOX , CODING OPTION BOX, then CORNER OPTION BOX (I am not mention any other select boxes which don't need that Dynamic Change).

When Visit first time they show the Default value of Table. When I First Select SIZE BOX The
 corresponding change occur in color BOX , IT's Done through AJAX. But on the COLOR BOX
change i need to change the value of Coding Option Select box. How it can possible.

Please visit site http://sacdigital.com/business-cards-c-1.html  It's the application I really need.

 please Help quickly Thanks in advance.... I attach Some of my Code ... pls help

 
Main Page Displaying select Boxes
tprinting.php
-----------------------------------
 
 
<?php
session_start();
require_once("classes/DB.Class.php");
include_once "session.php";
__autoload("Cart");
 
/*function getName($id)
{
$obj=new DBCon();
//$obj->table_name = "tbl_print_type";
$obj->table_name = "tbl_printing";
$obj->sel_condition="id = '$id' ";
$obj->res_array = array('id','feature');
$res=$obj->SelectSQL();	
$values=$obj->Fetch($res); 
return $values[0]['feature'];
}*/
//index.php?module=instyle&mode=printing
$obj=new DBCon();
//$sql = "select * from tbl_printing where id in(1,2)";
$sql = "select * from tbl_cardsize";
$resultsql = mysql_query($sql) or die("Query Error");
?> 
 
 
<div class="stepshd">
 
<div class="arrow"></div>
 
<div class="stepstxt">FEATURED PRODUCTS</div>
 
</div>
 
<script src="js/selectproduct.js"></script>
<div id="productList">
<form name="frm" method="post" action="">
 
<!--<strong>Product</strong><br/> 
<select  name="product" onchange="getValues(this.value)"> -->
 
 
 
<!--<select name="product" onchange="change()"> -->
<!--<option  value="Select Product">Select Product</option> -->
<?php
//for($i=0;$i<count($this->name);$i++)
//{ 
 
?> 
 
<!--<option   value="<?php //echo $this->id[$i]; ?>"><?php //echo $this->name[$i]; ?></option> --> 
<!--<option   value="2">Printing</option> --> 
<?php
//}
?><!--</select> --> 
 
 
 
<strong>Size</strong>
<br/>
<select name="size" id="size" onchange="getValues(this.value)" >
<?php 
//for($i=0;$i<count($this->name);$i++)
//for($i=0;$i<count($this->feature);$i++)
while($row = mysql_fetch_array($resultsql))
{ ?>
<option value="<?php echo $row['price']."+".$row['id']; ?>" ><?php echo $row['name']; ?> </option>
<?php
}
?>
</select>
<br/>
 
 
 
 
 
<div id="first">
<?php
$sqlcolor = "select * from tbl_print_small where type='color'";
$resultcolor = mysql_query($sqlcolor) or die("Error in color selection");
 
 
?>
 
 
 
<strong>Color</strong>
<br/>
 
<select name="color" id="color" onchange="changeValue()" >
 
<?php
while($rowcolor = mysql_fetch_array($resultcolor)) {?> 
<option value="<?php echo $rowcolor['price']; ?>" > <?php echo $rowcolor['feature']; ?></option>
<?php } ?>
</select>
<br />
 
 
 
 
<strong>Card Stock</strong>
<br/>
<?php
$sqlstock = "select * from tbl_print_small where type='cardstock'";
$resultstock = mysql_query($sqlstock) or die("Error in card stock selection");
 
 
?>
 
 
 
<select name="cardstock" id="cardstock" onchange="changeValue()"> 
<?php
while($rowstock = mysql_fetch_array($resultstock)) {?> 
<option value="<?php echo $rowstock['price']; ?>" > <?php echo $rowstock['feature']; ?></option>
 
<?php } ?> 
</select>
<br />
 
 
 
 
<strong>Coating Options</strong>
<br/>
<?php
$sqlcoat = "select * from tbl_print_small where type='coatingoption'";
$resultcoat = mysql_query($sqlcoat) or die("Error in coating option selection");
 
 
?>
 
 
 
<select name="coatingoption" id="coatingoption" onchange="changeValue()"> 
<?php
while($rowcoat = mysql_fetch_array($resultcoat)) {?> 
<option value="<?php echo $rowcoat['price']; ?>" > <?php echo $rowcoat['feature']; ?></option>
 
 
<?php } ?>
</select>
<br />
 
 
 
<strong>Corner Option</strong>
<br/>
<?php
$sqlcorner = "select * from tbl_print_small where type='corneroption'";
$resultcorner = mysql_query($sqlcorner) or die("Error in corner option selection");
 
 
?>
 
 
 
<select name="corneroption" id="corneroption" onchange="changeValue()"> 
<?php
while($rowcorner = mysql_fetch_array($resultcorner)) {?> 
<option value="<?php echo $rowcorner['price']; ?>" > <?php echo $rowcorner['feature']; ?></option>
 
<?php } ?>
</select>
<br />
 
 
 
 
 
<strong>Quantity</strong>
<br/>
<?php
   $sqlquantity = "select * from tbl_printing_quantity";
   $resultquantity = mysql_query($sqlquantity) or die("Error in Quantity selection");
   ?>
 
 
<select name="quantity" id="quantity" onchange="changeValue()">
<?php
while($rowquantity = mysql_fetch_array($resultquantity)) {?> 
<option value="<?php echo $rowquantity['quantityPrice']; ?>" > <?php echo $rowquantity['quantity']; ?></option>
<?php } ?>
</select>
<br />
 
 
 
<strong>Proof</strong>
<br/>
<?php
$sqlproof = "select * from tbl_print_small where type='proof'";
$resultproof = mysql_query($sqlproof) or die("Error in proof selection");
 
 
?>
 
<select name="proof" id="proof" onchange="changeValue()"> 
<?php
while($rowproof = mysql_fetch_array($resultproof)) {?> 
<option value="<?php echo $rowproof['price']; ?>" > <?php echo $rowproof['feature']; ?></option>
<?php } ?>
 
</select>
<br />
 
 
 
<strong>Shipping</strong>
<br/>
<?php
$sqlship = "select * from tbl_print_small where type='shipping'";
$resultship = mysql_query($sqlship) or die("Error in shipping selection");
 
 
?>
 
<select name="shipping" id="shipping" onchange="changeValue()"> 
<?php
while($rowship = mysql_fetch_array($resultship)) {?> 
<option value="<?php echo $rowship['price']; ?>" > <?php echo $rowship['feature']; ?></option>
<?php } ?>
 
</select>
<br />
</div>
 
 
 
 
 
 
<!--<br/> -->
 
 
 
<div id="txtHint"></div> 
<div id="message"></div>
 
<input type="submit" name="update" value="Update" class="button2"/>
</form>  
</div>
<div class="stepshd">
<div class="arrow"></div>
<div class="stepstxt">EASY STEPS FOR ORDER</div>
</div>
<div >
 <img src="images/1.jpg" />
<div class="order">Order online 24hrs  a  day or by phone -<span class="style2"> 800-431-5060</span></div>
<div class="yellowbuttn"><a href="index.php?module=instyle&mode=reg" class="yellowlink">Get Started Now</a></div>
</div>
<script language="javascript" type="text/javascript">
 
 
function changeValue()
{
//var sizeval = document.getElementById('size').value;
//alert("size "+sizeval);
var colorval = document.getElementById('color').value;
//alert("color "+colorval);
var cardstockval = document.getElementById('cardstock').value;
//alert("card "+cardstockval);
 
var coatingoptionval = document.getElementById('coatingoption').value;
 
var corneroptionval = document.getElementById('corneroption').value;
var quantityval = document.getElementById('quantity').value;
var proofval = document.getElementById('proof').value;
var shippingval = document.getElementById('shipping').value;
//alert("size"+sizeval+"colorval"+colorval+"card "+cardstockval+"coating "+coatingoptionval+"corner "+corneroptionval+"quantity "+quantityval+" proof "+proofval+" shipping "+shippingval);
 
var total = (parseInt(colorval)+parseInt(cardstockval)+parseInt(coatingoptionval)+parseInt(corneroptionval)+parseInt(proofval)+parseInt(shippingval))*parseInt(colorval);
//alert("Total value is "+total);
 
document.getElementById('message').innerHTML = "Total Amount is "+total;
}
</script>
----------------------------------------------------------------
  Ajax ---Calling Javascript file (js/selectproduct.js)
var xmlHttp;
function getValues(str)
{ 
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
 {
 alert ("Browser does not support HTTP Request");
 return;
 }
var url="phpfiles/getProducts.php";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
function stateChanged() 
{ 
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
 { 
  document.getElementById("first").innerHTML="";
 document.getElementById("txtHint").innerHTML=xmlHttp.responseText;
 } 
}
function GetXmlHttpObject()
{
var xmlHttp=null;
try
 {
 // Firefox, Opera 8.0+, Safari
 xmlHttp=new XMLHttpRequest();
 }
catch (e)
 {
 //Internet Explorer
 try
  {
  xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  }
 catch (e)
  {
  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
 }
return xmlHttp;
}
 
---------------------------------------------------------------------
Ajax Calling Server Script (getProducts.php)
<?php
$q=$_GET["q"];
//echo "q is ".$q;
list($first, $second) = split(' ', $q);
$con = mysql_connect('localhost', 'designer_scott', 'anitha');
if (!$con)
 {
 	die('Could not connect: ' . mysql_error());
 }
mysql_select_db("designer_scott", $con);
 
//Change Color Here
//$sql="SELECT DISTINCT itemDesc FROM tbl_products WHERE item = '".$q."'";
 
 $sql = "SELECT * FROM tbl_color WHERE cardId = '".$second."'";
 
$result = mysql_query($sql);
?>
<!--<strong>Size</strong> -->
<strong>Color</strong>
<br/>
<select  name="color">
<?php
while($row = mysql_fetch_array($result))
 { 	 	 	 	 	 	 	
 ?>
<option value="<?php echo  $row['price']."+".$row['id']; ?>"><?php echo  $row['name'] ?></option>
<?php
}
?>
</select><br/>
 
<!--<div style="display: none" > -->
<strong>Coating Options</strong>
<br/>
<?php
$sql="SELECT description FROM tbl_products WHERE item = '".$q."' and feature = 'Coating Options'";
$result = mysql_query($sql);
 
 ?>
 
<select  name="coating">
<?php
while($row = mysql_fetch_array($result))
{
?>
 
<option value="<?php echo  $row['description']; ?>"><?php echo  $row['description']; ?></option>
<?php
}
?>
</select>
<!--</div> -->
<br/>
 
 
<strong>Quantity</strong>
<br/>
 <select name="qty">
<option value="100">100</option>
<option value="250">250</option>
<option value="500">500</option>
<option value="1000">1000</option>
<option value="2500">2500</option>
<option value="5000">5000</option>
<option value="10000">10,000</option>
<option value="15000">15,000</option>
<option value="20000">20,000</option>
<option value="25000">25,000</option>
</select>
 
<?php
$sql="SELECT description FROM tbl_products WHERE item = '".$q."' and feature = 'Color'";
$result = mysql_query($sql);
 
 ?>
 <br/> 	
<strong>Color</strong>
<br/>
<select  name="Color">
<?php
while($row = mysql_fetch_array($result))
{
?>
 
<option value="<?php echo  $row['description']; ?>"><?php echo  $row['description']; ?></option>
<?php
}
?>
</select>
<br/>
 
<?php
$sql="SELECT description FROM tbl_products WHERE item = '".$q."' and feature = 'Card Stock'";
$result = mysql_query($sql);
 
 ?>
<strong>Card Stock </strong>
<br/>
<select  name="cardStock">
 <?php
while($row = mysql_fetch_array($result))
{
?>
<option value="<?php echo  $row['description']; ?>"><?php echo  $row['description']; ?></option>
<?php
}
?>
</select>
<br/>
 <?php
$sql="SELECT description FROM tbl_products WHERE item = '".$q."' and feature = 'Corner Option'";
$result = mysql_query($sql);
 
 ?>
<strong>Corner Option</strong>
<br/>
 
<select  name="cornerOption">
 <?php
while($row = mysql_fetch_array($result))
{
?>
<option value="<?php echo  $row['description']; ?>"><?php echo  $row['description']; ?></option>
<?php
}
?>
</select>
<br/>
 
 
<?php
$sql="SELECT * FROM tbl_products WHERE item = '".$q."'";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
 ?>
<strong>Proof</strong>
<br/>
<select  name="proof">
<option value="Select proof">Select Proof</option>
<option value="FREE PDF Proof">FREE PDF Proof</option>
</select>
<br/>
 
 
<strong>Shipping</strong>
<br/>
<select  name="shipping">
<option value="Select shipping">Select Shipping</option>
<option value="FREE UPS Ground">FREE UPS Ground</option>
<option value="Next Day Air">Next Day Air</option>
</select>
<br/>
 
<?php
mysql_close($con); 
?>

Open in new window

screenshot.JPG
0
Comment
Question by:logicslab
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
1 Comment
 
LVL 1

Accepted Solution

by:
PHPeZ earned 1500 total points
ID: 24170687
Hi,
I've posted an answer to a similar case like yours about a week earlier.

Please see the link below, may be it might help you?
http://www.experts-exchange.com/Programming/Languages/Scripting/AJAX/Q_24305067.html

Cheers!
0

Featured Post

[Webinar] Lessons on Recovering from Petya

Skyport is working hard to help customers recover from recent attacks, like the Petya worm. This work has brought to light some important lessons. New malware attacks like this can take down your entire environment. Learn from others mistakes on how to prevent Petya like worms.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Today I am discussing AJAX problems in IE7 and I bet this will helps many guys out here who have problems with AJAX work. Lets start with the discovery of problem and then we will talk about its different solutions. My last two projects included …
Introduction A frequently asked question goes something like this:  "I am running a long process in the background and I want to alert my client when the process finishes.  How can I send a message to the browser?"  Unfortunately, the short answer…
Monitoring a network: how to monitor network services and why? Michael Kulchisky, MCSE, MCSA, MCP, VTSP, VSP, CCSP outlines the philosophy behind service monitoring and why a handshake validation is critical in network monitoring. Software utilized …
In this video, Percona Solution Engineer Dimitri Vanoverbeke discusses why you want to use at least three nodes in a database cluster. To discuss how Percona Consulting can help with your design and architecture needs for your database and infras…
Suggested Courses

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question