Display data beside select option after option selected

Hi…

I have a select option where the data came from database and I use php codes for displaying the data to select option. And it works, now I need to display bin_loc base on what lot_number that I choose.

I want to happen is after I choose lot number the bin_loc for that lot_number will also displayed.
here is my code in displaying lot_number:


$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 "<td><select name = 'lot_number' id='lot_number'>";
 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>";

now I need to display bin_loc in <td></td> after the lot_number;

I tried this:


$sql = "SELECT bin_loc FROM wms WHERE lot_number = '$lot_number'";

but it did not work cause I can get the value of option that I selected.

I hope someone can Help in automatically displaying bin_loc.

Thank you so much

It is the nature of the business that we are mixing SQL, PHP and HTML - and even JS.

Take some steps backwards and establish:

Did you even connect to your db at all?

Was your sql statement correctly formed?


// lines of debug you can comment out and remove later
var_dump($con);
var_dump($query);

Were there any actual matching records in your db?


$rows = mysql_query($query, $con);

// line of debug you can comment out and remove later
var_dump($rows);

What were those results?


$records = mysql_fetch_array($rows)

// line of debug you can comment out and remove later
var_dump( $records );

Did you then loop through the results correctly?


foreach( $records as $record) {

// line of debug you can comment out and remove later
var_dump( $record );

}

Then, when you have all of that proven, then you try dressing it up in HTML.

Divide and conquer.

Test as you go.

Don’t assume anything, keep proving to yourself what is going on.

Develop using incremental steps.

I tried that and I can’t get the value of lot_number from select option.

So eventhough I dont know the ajax, I tried to research and I use ajax for getting the lot_number, but the problem now is I only get the first select inside while loop. the rest I can’t get the lot_number.

here is my code:

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