1

'エロ

クライアントが入力した「注文フォーム」からアイテムを取得して、クライアントが1以上の数量値を指定したアイテムのみをリストして、一度生成されて電子メールで送信される発注書の領収書として送信しようとしています。 [送信]をクリックします。

これが私がその部分でこれまでに持っているものです:

$i = 1;
$imax = 4;

echo "Products<br />";
echo "-------------------------------------------------------------<br />";

while ($i <= $imax) {

$itemqty = ${'qty'.$i};
$itempn = ${'pn'.$i};
$itemdesc = ${'desc'.$i};
$itemprice = ${'value'.$i};
$itemtotalprice = ${'elinetotal'.$i};

    if ($itemqty !== 0) {
            echo $itemqty . " x " . $itemdesc . " (" . $itempn . ") @ $" . $itemprice . " ea. = $" . $itemtotalprice . "<br />";
    }
$i++;
}

値が0のアイテムを無視しないことを除いて、すべてが正しくリストされます。次のようにリストされます。

Products
-------------------------------------------------------------
0 x Item #1 Description (HOSE-12) @ $155.00 ea. = $0.00
5 x Item #2 Description (GAUGE-2) @ $51.00 ea. = $255.00
0 x Item #3 Description (PTC) @ $0.70 ea. = $0.00
10 x Item #4 Description (PT-234R) @ $15.94 ea. = $159.40

これが最も簡単な修正かもしれませんが、誰かがこれに光を当てることができますか?よろしくお願いします!

4

1 に答える 1

1

私の最初の推測は$itemqtystring'0'です。等しくない演算子を使用してみてください。

if ($itemqty != 0)

同一ではない演算子の代わりに、つまり!==

$itemqtyそれ以外の場合は、割り当てを整数としてキャストしてみてください。

$itemqty = (int) ${'qty'.$i};
于 2013-03-05T22:23:34.483 に答える