Jump to content

problem in getting value from select option using ajax, php and mysql


newphpcoder
 Share

Recommended Posts

Hi...It's my first time to use ajax and I used it to get the bin_loc per lot_number where I choose in select option per ItemCode.And now I get the bin_loc but the problem is I only get the bin_loc of the first select option the rest was not.Here is my code of PickingForm.php

<?php    session_start();																		   error_reporting(0);   date_default_timezone_set("Asia/Singapore"); //set the time zone $con = mysql_connect('localhost', 'root','');if (!$con) {    echo 'failed';    die();}mysql_select_db("mes", $con);$Date_Shelve =date('Y-m-d H:i:s');?><html><title>Picking</title><head><link href="kanban.css" rel="stylesheet" type="text/css"><script type="text/javascript">var xmlhttp;  // Give the function a unique name, this is what your HTML will call to run the AJAXfunction select_code() {	  // This is all just setting up the variable, ignore it	if (window.XMLHttpRequest) {		  // code for IE7+, Firefox, Chrome, Opera, Safari	   xmlhttp=new XMLHttpRequest();	 } else {		  // code for IE6, IE5		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");	 }	 xmlhttp.onreadystatechange = function() {		     if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {			 	    //alert(xmlhttp.responseText);	   // alert(xmlhttp.readyState+" "+xmlhttp.status);	   // alert(xmlhttp.readyState+" "+xmlhttp.status);	       document.getElementById("bin_loc").innerHTML = xmlhttp.responseText;   	    //var mydata=xmlhttp.responseText;		    }	 };	 var val = document.getElementById("lot_number");	 var lot_number = val.options[val.selectedIndex].text; //alert(lot_number);	var parameters = "lot_number="					 			    + lot_number;	  			    xmlhttp.open("POST", "PickingFormTest.php", true);				    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");				    xmlhttp.send(parameters);//var mydata=xmlhttp.responseText;  }</script>  </head><body>  <div id="SR_date"><label>Date :</label><input type="text" name="date_pick" value="<?php echo $Date_Shelve; ?>" size="16" readonly="readonly" style="border: none;">   </div> <div id="Picking"><?php		   $sr_num_ = $_POST['sr_num_'];//$sql = "SELECT sr_number "   $sql = "SELECT sr_number, Items, DemandedQty, uomFROM sr_main WHERE sr_number = '$sr_num_'";$res_sr_main = mysql_query($sql, $con); $row_num = mysql_num_rows($res_sr_main);if($row_num > 0){while($row_sr_main = mysql_fetch_assoc($res_sr_main)){$sr_number_ = $row_sr_main['sr_number'];$items = $row_sr_main['Items'];$demandedqty = $row_sr_main['DemandedQty'];$uom = $row_sr_main['uom']; echo "<label> SR # :</label>";echo "<input type='text' readonly='readonly' style='border:none;' id='sr_number_' name='sr_number_' value='$sr_number_'>";echo "<table>";echo "<th>Items</th>	    <th> Item Code </th>	    <th> Demanded Qty </th>	    <th> UoM </th>	    <th> Description </th>	    <th> Lot Number </th>	    <th> Bin Location </th>	    <th> Picked By </th>	    <th> Approved</th>";echo "<tr>	    <td>$items</td>	    <td></td>	    <td style='text-align:right;'>$demandedqty</td>	    <td>$uom</td>	    </tr>";				   $sql_sub = "SELECT s.sr_number, s.Items, s.ItemCode, s.SubQty, s.UoM, s.DescriptionFROM sr_submain s WHERE s.sr_number = '$sr_num_' and s.Items = '$items' AND NOT EXISTS(SELECT w.stock_item FROM wms w WHERE s.ItemCode = w.stock_item AND w.sr_number = s.sr_number AND (w.qty_withdraw !='0.00' OR w.qty_withdraw = 'NULL'))";$res_sub = mysql_query($sql_sub, $con);while($row_sub = mysql_fetch_assoc($res_sub)){    echo "<form name='picking_lotnum' action='PickingForm.php?sr_num_=".$sr_num_."' method='POST' enctype='multipart/form-data' target='_self'>";  $sr_num = $row_sub['sr_number'];  $Items = $row_sub['Items'];  $ItemCode = $row_sub['ItemCode'];  $SubQty = $row_sub['SubQty'];  $UoM = $row_sub['UoM'];  $Description = $row_sub['Description'];$query = "SELECT lot_number from wms WHERE (date_shelve IS NOT NULL) AND stock_item = '$ItemCode' AND (qty = orig_qty OR qty != '0.00') AND qty >= '$SubQty' ORDER BY qty";				$rows = mysql_query($query, $con); echo "<tr>	    <td></td>	    <td><input type='text' name='ItemCode' id='ItemCode' value='$ItemCode' readonly='readonly' style='border:none;font-family: Arial, Helvetica, sans-serif;    font-size: .9em;'></td>	    <td><input type='text' name='SubQty' id='SubQty' value='$SubQty' readonly = 'readonly' style='border:none; text-align:right;font-family: Arial, Helvetica, sans-serif;    font-size: .9em;'></td>	    <td>$UoM</td>	    <td>$Description</td>";			   echo "<td><select name = 'lot_number' id='lot_number' onChange='select_code();'>"; echo "<option></option>";			     while ($record = mysql_fetch_array($rows))		   {				  echo "<option value = '{$record['lot_number']}'";				  if ($lot_number == $record['lot_number'])					  echo "selected = 'selected'";				   echo ">{$record['lot_number']}</option>";	     }		  echo "</select>";  echo "</td>";    echo "<td id='bin_loc'></td>";  echo "<td> <input type='text' name='picked_by' id='picked_by' size='20' value=''> </td>"; 	 echo "<td><input type='submit' name='priority' value='Approved' id='priority'></td>"; 	 echo "</tr>";	 echo "<input type='hidden' name='date_pick' value='$Date_Shelve' size='16' style='border: none;'>";		  	 echo "<input type='hidden' readonly='readonly' style='border:none;' id='sr_num_' name='sr_num_' value='$sr_number_'>";	 echo "</form>";}	  }}  echo "</table>";  echo "</div>";	  ?></body></html>

and here is the PickingFormTest.php

<?php	  session_start();																		   error_reporting(0);   date_default_timezone_set("Asia/Singapore"); //set the time zone $con = mysql_connect('localhost', 'root','');if (!$con) {    echo 'failed';    die();}mysql_select_db("mes", $con);$lot_number = $_POST['lot_number'];//echo $lot_number;  // $q=$_GET["lot_number"];     $sql_bin = "SELECT bin_loc FROM wms WHERE lot_number = '$lot_number'";  $res_bin = mysql_query($sql_bin, $con);   while($row_bin = mysql_fetch_assoc($res_bin)){	  $bin_loc = $row_bin['bin_loc'];	   echo "<input type='text' value='$bin_loc' id='bin_loc'>";  } ?>

Thank you so much

  • Like 1
Link to comment
Share on other sites

firstly you should make error reporting enabled to report every level of error. you had disabled it. you have to tell us the error if anything is there. it will also help you to debug. suppressing the error is not good idea when you developing. it will make things harder. what is not working? what should be like working?

echo "<input type='text' value='$bin_loc' id='bin_loc'>";
you can't have same id on more than one element did you try dumping the responseText to see expected data coming or not? Edited by birbal
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...