問題不在於我如何生成編號爲,這對於我擁有的其他應用程序來說工作正常。問題是計算盒子的總數,並多次遍歷一個forloop。現在我乘以box_ct * qty_ord來獲得總數。順便說一句,我仍然試圖理解我可以用foreach和for循環做的所有事情,所以如果有人有更好的主意,太好了。 澄清:我正在通過訂單號搜索數據庫並將qty_ord,box_ct和item_no分別拉回。在某些訂單中,有多個項目。因此,對於每個項目,我需要乘以box_ct = count的qty_ord,對於那個特定的項目,我需要通過基於我的計數的循環進行迭代。現在,如果我刪除foreach並硬編碼for循環count變量,它可以正常工作。任何關於我的foreach有什麼錯誤的想法?如何在訂單上爲每個盒子創建唯一編號
qty_ord | box_ct | item_no
------------------------
1 2 10001
3 3 10002
2 1 10003
2 3 10004
2 6 10005
以下是我的代碼。
$sql ="SELECT imitmidx_sql.box_ct, oeordlin_sql.item_no, oeordlin_sql.qty_ord
FROM imitmidx_sql
JOIN oeordlin_sql ON oeordlin_sql.item_no = imitmidx_sql.item_no WHERE ord_no ='$orderNum'";
$query = odbc_exec($conn, $sql);
$row7 = odbc_fetch_array($query);
foreach($row7['item_no'] as $item){
$count = $row7['qty_ord'] * $row7['box_ct'];
for($counter = 0; $counter <= $count; $counter++){
//GRAB NUMBER FROM FILE
$sscc = file_get_contents("ucc128.txt");
//INCREMENT NUMBER
$sscc++;
//PUT THE NUMBER BACK IN FILE
$sscc = file_put_contents("ucc128.txt", $sscc);
//COMBINE STATIC NUMBER AND NUMBER FROM FILE
$ssccnumber = "00950000".$sscc;
//CREATE CHECK DIGIT MATH
$ssccnumArray = str_split((string)$ssccnumber);
$ssccstep1 = array_combine(range(1, count($ssccnumArray)), $ssccnumArray);
$ssccstep2 = 0;
$ssccstep4 = 0;
foreach($ssccnumArray as $k => $v){
if($k%2){
$ssccstep2 += (int)$v;
}else{
$ssccstep4 += (int)$v;
}
}
$ssccstep3 = (int)$ssccstep2 * 3;
$ssccstep5 = (int)$ssccstep3 + (int)$step4;
$ssccCheckDigit = (ceil($ssccstep5/10) * 10) - $ssccstep5;
//END CREATE CHECK DIGIT
//CONCATENATE FULL NUMBER
$sscc1 = $ssccnumber.$ssccCheckDigit;
$sql = "INSERT INTO ucc128 (sscc, ord_no) VALUES ('$sscc1' ,'$orderNum')";
#echo $sql.'<br />';
odbc_exec($connPRONUMBER, $sql);
}
}
你的問題很混亂。你想具體完成什麼?你需要有一個計數器來增加和打印HTML? – Chris
我對這個令人困惑的問題表示歉意。我需要找到訂單上每個項目的總箱號,並將其用作計數來生成一個數字foreach箱。因此,如果卡車上有5件物品,我需要退還每件物品的數量,然後乘以箱子數來計算我的數量。然後我需要遍歷我知道工作的數字生成器(這是我的forloop)。我很確定我的問題與我的第一個foreach($ row7 ['item_no']爲$ item)有關。 – Ryan
我建議你編輯你的問題,讓它更清楚你知道什麼 – anhoppe