gpt4 book ai didi

php - 如何从多个数组中添加不同的元素

转载 作者:行者123 更新时间:2023-11-30 21:48:34 25 4
gpt4 key购买 nike

我正在构建一个小型 PHP/MySQL 系统来跟踪同一公司内不同商店位置之间的产品转移。每家商店都会将他们的转账输入数据库。然后会计师应该能够在月底提取汇总报告。

信息是这样存储在数据库中的:

   ID | Transfer Date | Dept | Item | Qty | Cost | Receiver | Sender

Ex: 1 | 2018-01-06 | 35 | Milk | 36 | 1.96 | 07 | 02

我可以很好地将信息输入数据库。商店和部门都只是数字。当我尝试对提交给会计师的摘要报告进行编程以报告必要的数字时,我的问题就来了。

要创建摘要报告,我需要将信息从数据库中拉回并将其放入 7 个数组之一(每个商店一个)。这些数组将包含 14 个元素(商店内的每个部门一个)。如果商店从部门 35 发出产品(如上例),我们需要从部门 35 的元素中减去指定的金额。如果商店收到产品,我们需要将金额添加到部门 35 的元素。

我确切地知道我需要做什么,但我只是没有得到任何代码来工作。我已经尝试了在这里和其他网站上找到的各种东西。不幸的是,这个有点超出我的新手能力。到目前为止,这是我所处的位置,但老实说,我不知道从这里去哪里。

$sql = "SELECT * FROM Transfers WHERE (tDate BETWEEN '$date1' AND '$date2') ORDER BY tDate ASC";

if($result = mysqli_query($link, $sql)){
if(mysqli_num_rows($result) > 0){
while($row = mysqli_fetch_array($result)){
$send = $row['Sender'];
$recv = $row['Receiver'];
$dept = $row['Dept'];
$qty = $row['Qty'];
$cost = $row['Cost'];

// Calculate total line cost
$totalCost = $qty * $cost;

$tSender = join($send, $dept);

$tReceiver = join($recv, $dept);

我如何实际获取这些信息并将其添加或减去每个商店的数组?

提前致谢!

最佳答案

正如您所猜测的那样。它应该是这样的:

$resultat=array();
for each result of your request{
if(!isset($resultat[receiver][dept][item]))$resultat[receiver][dept][item]=array('qty'=>0,'cost'=>0);
if(!isset($resultat[sender][dept][item]))$resultat[sender][dept][item]=array('qty'=>0,'cost'=>0);
$resultat[receiver][dept][item]['qty']+=qty;
$resultat[receiver][dept][item]['cost']+=cost*qty;
$resultat[sender][dept][item]['qty']-=qty;
$resultat[sender][dept][item]['cost']-=cost*qty;
}

不能按原样使用,但它应该能让您回到正轨。

关于php - 如何从多个数组中添加不同的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48326853/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com