我在MYSQL中有一个表,可以跟踪不同成分的使用情况。每次使用一种成分时都会创建一个新条目,一个成分可以有多个条目" usage"我试图显示减去使用数量的起始数量。这些值被放入数组中。如何减去多个"使用的数量"来自单个"起始数量的条目"条目? 我尝试在while循环中添加最后两行代码,以为我可以添加使用量,但这会将所有成分的所有用法加起来而不是特定成分。
$query = "SELECT lkptblMatInvStorageLocs.StorageLoc, tblMatInv.Quantity, tblMatInv.Status, ".
"tblMatInv.Note, tblMatInvCategory.MatCat, tblMatInvList.Name, tblMatInvList.Specs, ".
"tblMatInvList.Note As Note1, tblMatInvUsage.QuantityUsed, lkptblMatInvUnit.Unit, ".
"tblMatInv.MI_id, tblMatInvList.VendPtNum, tblVendor.Vendor, tblMatInv.BatchNum, tblMatInvUsage.DT ".
"From lkptblMatInvStorageLocs ".
"Inner Join tblMatInv On lkptblMatInvStorageLocs.MISL_id = tblMatInv.MISL_id ".
"Inner Join tblMatInvList On tblMatInv.MIL_id = tblMatInvList.MIL_id ".
"Inner Join lkptblMatInvUnit On lkptblMatInvUnit.MIU_id = tblMatInvList.MIU_id ".
"Inner Join tblVendor On tblVendor.VEND_id = tblMatInvList.VEND_id ".
"Inner Join tblMatInvCategory On tblMatInvCategory.MIC_id = tblMatInvList.MIC_id ".
"Inner Join tblMatInvUsage On tblMatInvUsage.MI_id = tblMatInv.MI_id ".
"$cstring ".
"GROUP BY tblMatInv.MI_id ".
"Order By tblMatInv.MI_id Desc ".
"LIMIT $num_records";
if ($show_query == 1) print "<font size=\"-2\">".$query."</font><br>\n";
$result = mysql_query($query) or die('Query failed: ' . mysql_error());
$rec_count = 0;
$inventory_data_arr = array();
while ($temp_inventory_data = mysql_fetch_row($result))
{
// Stuff usage data into data array.
$inventory_data_arr[$rec_count]["location"] = $temp_inventory_data[0];
$inventory_data_arr[$rec_count]["quantity"] = $temp_inventory_data[1];
$inventory_data_arr[$rec_count]["status"] = $temp_inventory_data[2];
$inventory_data_arr[$rec_count]["note"] = $temp_inventory_data[3];
$inventory_data_arr[$rec_count]["category"] = $temp_inventory_data[4];
$inventory_data_arr[$rec_count]["name"] = $temp_inventory_data[5];
$inventory_data_arr[$rec_count]["specs"] = $temp_inventory_data[6];
$inventory_data_arr[$rec_count]["note1"] = $temp_inventory_data[7];
$inventory_data_arr[$rec_count]["quantity_used"] = $temp_inventory_data[8];
$inventory_data_arr[$rec_count]["unit"] = $temp_inventory_data[9];
$inventory_data_arr[$rec_count]["MI_id"] = $temp_inventory_data[10];
$inventory_data_arr[$rec_count]["VendPtNum"] = $temp_inventory_data[11];
$inventory_data_arr[$rec_count]["vendor"] = $temp_inventory_data[12];
$inventory_data_arr[$rec_count]["BatchNum"] = $temp_inventory_data[13];
$inventory_data_arr[$rec_count]["date"] = $temp_inventory_data[14];
$rec_count++;
$complete_starting_quantity = $complete_starting_quantity + $temp_inventory_data[1];
$complete_quantity_used = $complete_quantity_used + $temp_inventory_data[8];
//print_r($temp_inventory_data);
}
for($i= 0; $i <$rec_count; $i++) {
$starting_quantity = $inventory_data_arr[$i]["quantity"];
$ending_quantity = $inventory_data_arr[$i]["quantity_used"];
$remaining_quantity = $starting_quantity - $ending_quantity;
if ($inventory_data_arr[$i]["status"] == 'Finished'){
$inventory_data_arr[$i]["quantity_used"] = $inventory_data_arr[$i]["quantity"];
$remaining_quantity = 0;
}