嗨必须检查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