选择状态后获取税值

时间:2015-06-19 02:16:07

标签: php html arrays forms

我正在尝试将销售税逻辑添加到我的网站,除了遇到几个问题之外,我还有一个很好的开端。

  1. 最大的问题是税收价值未得到承认。我在数据库中拥有所有其他价值,如价格,运费等,我将通过会话存储值。所以,他们从中拉出来。当我选择一个州时,该值没有被添加到我的计算中,所以我不知道该怎么做。

  2. 如果没有,我不知道如何计算出不计算税收的等式。我只计算一个州的税收,如:

    $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 =税

  3. 因此,如果客户选择除我的税务状态之外的任何其他州,它将减去税点中的价格成本。

    我显然没有包括所有州,但我真的需要看看在选择州后,我可以做些什么才能获得税额。

    <?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>
    

    使用我刚刚发布的代码,状态名称不会继续,只有值。有什么方法可以改变这个状态,所以状态的名称在某些情况下会经历,然后价值会在其他情况下发生吗?

    例如,当我发送订单时,我需要发货信息等的州名称。然后我需要其他情况下的税额。

1 个答案:

答案 0 :(得分:0)

因为html选择输入只发送一个值。如果要发送状态名称,请创建一个单独的输入以选择状态或连接两个值。

这是导致问题的行

echo "<option value='$val'>$key</option>/n";

将其更改为包含两个值的内容。使用特殊字符来连接状态和值的名称。然后使用php exlode()函数爆炸该值。因此,您可以轻松获得州名及其价值。

实施例

echo "<option value='$val^$key'>$key</option>/n";

参见上面的例子,我加入了$ val和$ key,带有特殊字符“^”。现在你将获得php中的状态和值。用特殊字符“^”爆炸。