0

このようにデータベースからレコードを取得して表示します

SELECT purchorders.orderno,
                    suppliers.suppname,
                    purchorders.orddate,
                    purchorders.deliverydate,
                    purchorders.initiator,
                    purchorders.requisitionno,
                    purchorders.allowprint,
                    purchorders.status,
                    suppliers.currcode,
                    currencies.decimalplaces AS currdecimalplaces,
                    SUM(purchorderdetails.unitprice*purchorderdetails.quantityord) AS ordervalue
                FROM purchorders 
                INNER JOIN purchorderdetails 
                ON purchorders.orderno = purchorderdetails.orderno
                INNER JOIN suppliers
                ON purchorders.supplierno = suppliers.supplierid
                INNER JOIN currencies 
                ON suppliers.currcode=currencies.currabrev
                WHERE purchorders.orderno=purchorderdetails.orderno
                GROUP BY purchorders.orderno,
                    suppliers.suppname,
                    purchorders.orddate,
                    purchorders.initiator,
                    purchorders.requisitionno,
                    purchorders.allowprint,
                    purchorders.status,
                    suppliers.currcode,
                    currencies.decimalplaces LIMIT 5

きちんと結果を出しています。しかし、私が表示した注文値の結果を計算して表示したい(5つに制限しているため、合計5つ)

私はこのようにしてみました

$SalesOrdersResult2 = DB_query($SQL,$db);
while ($row = DB_fetch_array($SalesOrdersResult2))
{
$FormatedOrderValue2 = locale_number_format($row['ordervalue'],$row['currdecimalplaces']);
$Total = $array_sum($row['ordervalue']);
$FormatedOrderDate1 = ConvertSQLDate($row['orddate']);
                        $FormatedDelDate1 = ConvertSQLDate($row['deliverydate']);

                        echo " <tr><td> " . $row['suppname'] . " </td>";
                        echo " <td>$FormatedOrderDate1</td><td>$FormatedDelDate1</td><td> " . $row['initiator'] . " </td><td>$FormatedOrderValue2</td><td> " . $row['status'] . " </td></tr> ";

                    }
        echo "<tr><td colspan='3'>Total---</td><td colspan='2'>$Total</td></tr></tbody>";

しかし、「致命的なエラー:関数名は...の文字列でなければなりません」と表示されます

誰かがこれを行うのを手伝ってくださいありがとう

4

2 に答える 2

0

私はあなたがこのようなことをしようとしているのではないかと思いますか?:

$SalesOrdersResult2 = DB_query($SQL, $db);
$Total = 0;
while ($row = DB_fetch_array($SalesOrdersResult2))
{
    $FormatedOrderValue2 = locale_number_format($row['ordervalue'],$row['currdecimalplaces']);
    $Total += $row['ordervalue'];
    $FormatedOrderDate1 = ConvertSQLDate($row['orddate']);
    $FormatedDelDate1 = ConvertSQLDate($row['deliverydate']);
    echo " <tr><td> " . $row['suppname'] . " </td>";
    echo " <td>$FormatedOrderDate1</td><td>$FormatedDelDate1</td><td> " . $row['initiator'] . " </td><td>$FormatedOrderValue2</td><td> " . $row['status'] . " </td></tr> ";
}
echo "<tr><td colspan='3'>Total---</td><td colspan='2'>$Total</td></tr></tbody>";
于 2013-03-17T05:34:11.810 に答える
0

$前を削除しarray_sumます。

于 2013-03-17T05:25:55.787 に答える