如何使用数据库中的数据计算总计,税金

时间:2019-07-29 03:51:18

标签: php mysql sql codeigniter

这样在一般代码开发人员和Web开发中是一种新事物,但是否可以计算“小计”和“税费”,然后将该值自动输入到代码编写程序中的某种输入框中?

例如:

  • 我有一个模型,该模型连接一些列并将数据显示到表中

表model.php

public function getPurchaseOrder()
    {
        $query =$this->db->query('SELECT dkmno, kodeprod,kodebarang_op,qty_op,unit_op,price,catatan FROM order_product JOIN barang_dkm ON order_product.kodebarang_op = barang_dkm.kodebarang');
        return $query->result_array();
    }

table view.php

<table class="table table-fixed table-bordered table-hover" style="width:100%;" id="tebal">
                                <thead>
                                    <tr>
                                        <th scope="col">DKM No </th>
                                        <th scope="col">Kode Produksi </th>
                                        <th scope="col">Kode Barang </th>
                                        <th scope="col">Deskripsi </th>
                                        <th scope="col">Jumlah/Quantity </th>
                                        <th scope="col">Unit </th>
                                        <th scope="col">Unit Price </th>
                                        <th scope="col">Sub Total </th>
                                    </tr>
                                </thead>
                                <tbody>
                                    <?php foreach ($dataTabel as $kiki) : ?>
                                        <tr class="table-row">
                                            <td><?php echo $kiki["dkmno"]; ?></td>
                                            <td><?php echo $kiki["kodeprod"]; ?></td>
                                            <td><?php echo $kiki["kodebarang_op"]; ?></td>
                                            <td><?php echo $kiki["catatan"]; ?></td>
                                            <td><?php echo $kiki["qty_op"]; ?></td>
                                            <td><?php echo $kiki["unit_op"]; ?></td>
                                            <td><?php echo $kiki["price"]; ?></td>
                                            <td class="calc"><?php $a=$kiki["qty_op"]*$kiki["price"]; echo $a ?></td>
                                        </tr>
                                    <?php endforeach;?>
                                </tbody>
                            </table>

  • 我想从上表计算总计,并在文本框或输入框中显示答案

我尝试着看问同样问题的人,但是我仍然需要一些细节来说明model.php,controller.php,view.php,script.js的工作原理,如果您需要更多细节,请点击以下链接我已经制作过的ui:https://i.imgur.com/LSkrnMH.png

4 个答案:

答案 0 :(得分:0)

尝试一下:

$this->db->select_sum('your_column_to_calculate');
$this->db->select('your_column_to_calculate');
$this->db->from('price');
$this->db->get();

或类似这样:

query = $this->db->query('SELECT sum(your_column_to_calculate) FROM price');

希望有帮助

答案 1 :(得分:0)

这是javascript代码,它仅计算calc行并将结果显示在小计文本框中,并将自动加载:

    <script>
        $(document).ready(function(){               

                    var hh2 = 0;              
                    $('#tebal > tbody  > tr').each(function() {
              var price = $(this).find('.calc').val();
                hh2 += parseFloat(price);                   
                    });
$('#SubTotal').val(hh2);
            });
</script>

答案 2 :(得分:0)

您可以用php本身计算所有金额

  

将变量$ subtotal设置为零,并在每个循环中添加$ subtotal

<?php 
$subtotal = 0;
foreach ($dataTabel as $kiki) : ?>
<tr class="table-row">
    ....
</tr> <?php $subtotal = $subtotal+$kiki["qty_op"]*$kiki["price"]; endforeach;?>

希望您能得到它。

答案 3 :(得分:0)

您可以使用CodeIgniter来获得小计,但是您必须使用javascript来计算税收,因为它涉及到用户交互。

例如,您有这样的小计输入:

    <div class="form-group">
        <label class="col-sm-3 control-label" for="SubTotal">Sub Total</label>
        <div class="col-sm-9">
            <input type="number" name="SubTotal" id="subTotal" class="form-control" value="" title="Sub Total" disabled><br/>
        </div>
    </div>
    <div class="form-group">
        <label class="col-sm-3 control-label" for="Discount">Discount</label>
        <div class="col-sm-9">
            <div class="col-sm-6">
                <div class="input-group input-group-md">
                    <input type="number" name="Discount" id="inputDiscount" class="form-control" value="" title="Discount" min="0" max="100" onchange="calculateSubTotal()"><span class="input-group-addon">%</span>
                </div>
            </div>
            <div class="col-sm-6">
                <input type="number" name="SubTotalDiscount" id="subTotalDiscount" class="form-control" value="" title="Subtotal After Discount" disabled><br/>
            </div>
        </div>
    </div>
    <div class="form-group">
        <label class="col-sm-3 control-label" for="Tax">Tax</label>
        <div class="col-sm-9">
            <div class="col-sm-6">
                <div class="input-group input-group-md">
                    <input type="number" name="Tax" id="inputTax" class="form-control" value="" title="Tax" min="0" max="100" onchange="calculateSubTotal()"><span class="input-group-addon">%</span>
                </div>
            </div>
            <div class="col-sm-6">
                <input type="number" name="SubTotalTax" id="subTotalTax" class="form-control" value="" title="Subtotal After Tax" disabled><br/>
            </div>
        </div>
    </div>

然后,您可以设置小计值,还可以像这样计算折扣和税后的小计值:

<script>
    jQuery(function () {
        let sum = 0.0;
        jQuery('.calc').each(function() {
            sum += parseInt(jQuery(this).text());
        });
        jQuery("#subTotal").val(sum);
    });
    function calculateSubTotal() {
        let subtotal = jQuery("#subTotal").val();
        jQuery("#subTotalDiscount").val(subtotal - (Math.round((jQuery("#inputDiscount").val() / 100) * subtotal)));
        let subtotal_discount = jQuery("#subTotalDiscount").val();
        jQuery("#subTotalTax").val(+subtotal_discount + (Math.round((jQuery("#inputTax").val() / 100) * subtotal_discount)));
    }
</script>

这将使用javascript设置所有小计。