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 AJAX
function 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, uom
FROM 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.Description
FROM 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'>";
}
?>
I attach the sample form
Thank you so much