0
我有兩個數據表stock_incomes,stock_outcomes和stock_outcomes_fifo(一個我插入預先計算的數據):FIFO計算
stock_incomes(存儲剩菜數據)
id| Levtv
-----------
7 | 100
8 | 250
9 | 350
stock_outcomes(這裏是從stock_incomes點)
id| Quantity
--------------
1 | 150*
我沒有問題,當stock_outcomes.Quantity小於100(分鐘(同上),請參閱下面我的代碼),但我不知道世界衛生大會t代碼寫我可以得到計算,如果結果是> 100。在我的例子中,我用150,我想在接下來的表來獲取數據:
stock_outcomes_fifo(一個我想從以前的兩個表插入預先計算的數據)
id| IncomeId| OutcomeId| OutcomePart| Leftv
---------------------------------------------
1 | 7 | 1 | 100 | 0
2 | 8 | 1 | 50 | 200
這裏是我的裏面的問題代碼(見代碼的最後一部分):
<?php
include_once("config.inc.php");
include_once("db.class.php");
// stock_outcomes
$db = new db($host, $database, $user, $passwd);
$sql = "SELECT * FROM stock_outcomes WHERE Id = '1'";
$mas = $db->get_array($sql);
if($mas) {
foreach ($mas as $k => $v) {
$OutcomeId = $mas[$k]['Id'];
$OutcomeQuantity = $mas[$k]['Quantity'];
}
}
// stock_incomes
$sql = "select * from stock_incomes where Id = (select min(Id) from stock_incomes where Leftv > 0)";
$mas = $db->get_array($sql);
if($mas) {
foreach ($mas as $k => $v) {
$IncomeId = $mas[$k]['Id'];
$IncomeLeftv = $mas[$k]['Leftv'];
}
}
// insert into stock_outcomes_fifo
if ($OutcomeQuantity <= $IncomeLeftv) {
$OutcomePart = $OutcomeQuantity;
$FifoLeftv = $IncomeLeftv - $OutcomeQuantity;
mysql_query("INSERT INTO `stock_outcomes_fifo` (IncomeId,OutcomeId,OutcomePart,Leftv) VALUES ($IncomeId, $OutcomeId, $OutcomePart, $FifoLeftv)");
}
if ($OutcomeQuantity > $IncomeLeftv) {
// I have no idea what php function to use in this case... please give me direction, thank you...
}
?>
我編輯了你的文章,使代碼更具可讀性,但你的問題仍然有點不清楚。你能再看看你的問題,看看你是否可以改寫它來使它更容易理解? – jbafford