1
我正在嘗試根據數據庫中的信息創建數據包。根據維數創建數據包
數據庫的組織是這樣的:
ID ORDERID DIMENSION QUANTITY
1 21 8400 25
2 21 7200 8
3 21 4300 5
4 21 3800 7
第一件事,從數據庫
$sql = "SELECT ID, ORDERID, DIMENSION, QUANTITY FROM dimension WHERE ORDERID = 21 ORDER BY DIMENSION DESC";
$q = $conn => query($sql);
while($r = $q->tech()){
$dim =$r['DIMENSION '];
$quant =$r['QUANTITY '];
}
然後,我從另一個表中檢索數據,爲前獲取信息。我得到10號
$query = "SELECT QUANTITY FROM panel WHERE ID = 21;
$q = $conn->query($query);
while ($r=$q->fetch()){
$number = 10;
}
使從最長尺寸包裝是非常重要的。
例如,我有尺寸8400的數量25.面板的最大數量是10,這意味着我將有兩個數據包,每10個面板將保留5個。 5進入下一個維度,我們將該面板的最大數量達到$數量。剩餘的維度進入下一個維度,並保持這種狀態。
一旦我得到的所有信息,我需要做包裝,最後包裝解決方案應該是
-------------------
8400 x 10 - Packet1
-------------------
8400 x 10 - Packet2
-------------------
8400 x 5
7200 x 5 - Packet3
-------------------
7200 x 3
4300 x 5
3800 x 2 - Packet4
-------------------
3800 x 5 - Packet 5
-------------------
一旦我得到這個數據,我應該將其插入到數據庫 其中8400是尺寸,10,面板,「Packet1」 - 名稱
我被卡住了,不知道如何執行此操作。我不知道算法是否存在。
這正是我一直在尋找。一旦我得到這些信息,我需要將它存儲在數據庫中。我的表是有組織的ID | ORDERID | DIMENSION | QUANTITY |名稱。我有訂單ID,角錢(8400)和數量10.訂單名稱可以是第一組Packet1,第二組Packet2,對於第三種情況,Packet3對於這兩個組將是相同的名稱8400和7200.它增加1。是可能的。謝謝 –