вычисление массива данных - PullRequest
0 голосов
/ 18 июля 2011

В моей базе данных есть следующее:

Заказы: id: 1 id: 2 id: 3

Order_Items id: 1, order_id: 1, стоимость: 10 id: 2,order_id: 1, стоимость: 15 id: 3, order_id: 2, стоимость: 5 id: 4, order_id: 2, стоимость: 60

Затем у меня есть следующий код для вывода каждого заказа и его общая стоимость:

$total = 0;
foreach($orders as $order)
{
    foreach($order->getOrderItems() as $o)
    {
        $total += $o->getCost();
    }

    $content_file .= $total_price . "\r\n";
}
echo $content_file;

Все работает нормально, часть от него получает первую сумму 25, затем для следующего заказа получает первую сумму и добавляет ее ко 2-му (90) и так далее.

Можно ли в любом случае изменить свою логику, чтобы выводить каждую строку заказа и общую стоимость, а не добавление, которое в настоящее время происходит?

Спасибо

1 Ответ

0 голосов
/ 18 июля 2011

Вам необходимо переместить строку $ total = 0 следующим образом:

foreach($orders as $order)
{
    $total = 0;
    foreach($order->getOrderItems() as $o)
    {
        $total += $o->getCost();
    }

    $content_file .= $total . "\r\n";
}
echo $content_file;
...