我正在尝试将销售税逻辑添加到我的网站,除了遇到几个问题之外,我还有一个很好的开端。
最大的问题是税收价值未得到承认。我在数据库中拥有所有其他价值,如价格,运费等,我将通过会话存储值。所以,他们从中拉出来。当我选择一个州时,该值没有被添加到我的计算中,所以我不知道该怎么做。
如果没有,我不知道如何计算出不计算税收的等式。我只计算一个州的税收,如:
$base_price += $products[$product_id]['price'] * $product['quantity'];
$tax_price += $base_price * $taxvalue[''];
$tax_price - $base_price;
例如:
base_cost = $ 10
tax_value = $ 1.065
所以$ 10 * $ 1.065 - $ 10 =税
因此,如果客户选择除我的税务状态之外的任何其他州,它将减去税点中的价格成本。
我显然没有包括所有州,但我真的需要看看在选择州后,我可以做些什么才能获得税额。
<?php
$base_price = 0;
foreach($_SESSION['shopping_cart'] as $id => $product) {
$product_id = $product['product_id'];
$base_price += $products[$product_id]['price'] * $product['quantity'];
$shipping_price += $products[$product_id]['shippingprice'] * $product['quantity'];
}
$tax_price += $base_price * $taxvalue[''];
$total_price += $base_price + $shipping_price + $tax_price;
}
$taxvalue['Ohio'] = 1.065;
$taxvalue['Virginia'] = 1;
?>
表单部分:
<label for="state">State</label>
<select type="text" class="mediuminputbar preview" id="ShipTostate" data-copy="#confirmstate" name="ShipTostate" value="<?php echo escape($user->data()->state); ?>" required>
<option value=''>Select a State</option>
<?php
foreach($taxvalue as $key => $val) {
echo "<option value='$val'>$key</option>/n";
}
?>
</select>
使用我刚刚发布的代码,状态名称不会继续,只有值。有什么方法可以改变这个状态,所以状态的名称在某些情况下会经历,然后价值会在其他情况下发生吗?
例如,当我发送订单时,我需要发货信息等的州名称。然后我需要其他情况下的税额。
答案 0 :(得分:0)
因为html选择输入只发送一个值。如果要发送状态名称,请创建一个单独的输入以选择状态或连接两个值。
这是导致问题的行
echo "<option value='$val'>$key</option>/n";
将其更改为包含两个值的内容。使用特殊字符来连接状态和值的名称。然后使用php exlode()
函数爆炸该值。因此,您可以轻松获得州名及其价值。
实施例
echo "<option value='$val^$key'>$key</option>/n";
参见上面的例子,我加入了$ val和$ key,带有特殊字符“^”。现在你将获得php中的状态和值。用特殊字符“^”爆炸。