嗨必須檢查2個國家,以設置運輸成本。 (這些值先前通過下拉列表分配)。這是我的PHP條件,它似乎不工作。如果我犯了一個錯誤,有人可以幫助我解釋語法嗎?PHP狀態檢查國家
<?php
for($y = 0; $y < count($contentsArray); $y++)
{
$itemArray = explode(":", $contentsArray[ $y ]);
$price = number_format($itemArray[ 2 ] * $itemArray[ 1 ], 2);
$subtotal += $price;
echo "<tr>";
echo "<td class='item_col'>" . $itemArray[ 0 ] . "</td>";
echo "<td class='description_col'>" . $itemArray[ 3 ] . "</td>";
echo "<td class='quantity_col'>" . $itemArray[ 1 ] . "</td>";
echo "<td class='price_col'>$ " . $price . "</td>";
echo "</tr>";
}
// calculate the shipping
if($subtotal > 500)
$shipping = 0.00;
// ----這是我嘗試添加我的病情和錯誤------
else if ($country == "Canada")
$shipping = 10.00;
else if ($country == "USA")
$shipping = 10.00;
// ----在上面,我在那裏試圖添加我的條件------
else $ shipping = 15.00;
$shipping = number_format($shipping, 2);
// calculate the tax and total for the cart
$gst = number_format(($subtotal + $shipping) * 0.06, 2);
$total = $subtotal + $shipping + $gst;
// update the totals in the db
$cartData->totals = $shipping . "|" . $gst . "|" . $total;
$updateSuccess = updateCartTotals($merchant, $cartData);
?>
</tbody>
</table>
<br />
<div id="invoice_totals">
<div id="totals">
$ <?=number_format($subtotal, 2)?><br />
$ <?=number_format($shipping, 2)?><br />
$ <?=number_format($gst, 2)?><br />
<span class="total">$ <?=number_format($total, 2)?></span>
</div>
<div id="headings">
<strong>subtotal:</strong><br />
<strong>shipping:</strong><br />
<strong>tax:</strong><br />
<span class="total">total:</span>
</div>
<div id="print">
<a href="#"><img src="images/cart/buttons/print.gif" width="41" height="41" border="0" onmouseover="this.src='images/cart/buttons/print_ov.gif'" onmouseout="this.src='images/cart/buttons/print.gif'" /></a>
</div>
<div class="cleaner"></div>
<div id="back">
<a href="shipping.html"><img src="images/cart/buttons/back.gif" width="58" height="58" border="0" onmouseover="this.src='images/cart/buttons/back_ov.gif'" onmouseout="this.src='images/cart/buttons/back.gif'" /></a>
</div>
<div class="cleaner"></div>
</div>
</div>
<div id="shipping_information">
<p>
<strong>Shipping to:</strong><br />
<?=$customerData->firstName . " " . $customerData->lastName?><br />
<?=$customerData->address?><br />
<?=$customerData->city . ", " . $customerData->province?><br />
<?=getCountryName($customerData->country)?><br />
<?=$customerData->postalCode?>
</p>
...
一切看起來都很好,你能解釋「似乎沒有工作」嗎?它應該做什麼,它實際上在做什麼,你認爲是錯誤的? – Tesserex 2010-11-08 22:41:43
考慮到這種結構,只有在小計低於500時纔會檢查國家。當您嘗試此操作時,小計是多少? – 2010-11-08 22:46:20
我沒有看到錯誤,假設這兩個國家也有資格免費送貨超過500個發明者。如果不是,並且您的測試滿足這種條件,那麼這就是您的問題,並且有條件的需要降到國家檢查以下。你可以給我們'var_dump($ country);'?的輸出嗎?你可能想使用'if(!stristr($ country,'canada'))'',但是如果我們有更多的信息會有幫助。 – Dereleased 2010-11-08 22:52:12