Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 按增值税税率排序搜索结果_Php_Mysql - Fatal编程技术网

Php 按增值税税率排序搜索结果

Php 按增值税税率排序搜索结果,php,mysql,Php,Mysql,我有一个名为invoiceItems的表。它包含发票的各个行。它具有以下字段: invoiceItemId(主键) invoiceId(表Invoices的主键) productId(表products的主键) 比率 数量 增值税率(0%、6%、12%、21%) 我想查询数据库并选择具有特定发票号的所有发票项。然后我想重复一下发票上显示的不同增值税税率,以及每个增值税税率的增值税总额 例如,如果结果为: invoiceItemId:1,invoiceId:17,productId:23,税

我有一个名为invoiceItems的表。它包含发票的各个行。它具有以下字段:

  • invoiceItemId(主键)
  • invoiceId(表Invoices的主键)
  • productId(表products的主键)
  • 比率
  • 数量
  • 增值税率(0%、6%、12%、21%)
我想查询数据库并选择具有特定发票号的所有发票项。然后我想重复一下发票上显示的不同增值税税率,以及每个增值税税率的增值税总额

例如,如果结果为:

  • invoiceItemId:1,invoiceId:17,productId:23,税率:10欧元,数量:10,增值税税率:6%
  • 发票编号:2,发票编号:17,产品编号:7,税率:100欧元,数量:1,增值税税率:21%
  • 发票编号:3,发票编号:17,产品编号:8,税率:10欧元,数量:5,增值税税率:12%
我想回应一下:

发票号码17

增值税6%:6欧元 增值税12%:6欧元 增值税21%:21欧元

$sql = "SELECT * FROM invoiceItems WHERE invoiceId = ’17’”;
$query = $connect->query($sql);
$result = $query->fetch_assoc();
我知道我应该遍历结果,但我有点卡住了…

使用SQL中内置的and运算符

    $sql = "SELECT vatRate, SUM(quantity * price * vatRate) as total FROM invoiceItems WHERE invoiceId = ’17’ GROUP BY vatRate”;
    $query = $connect->query($sql);

    while($result = $query->fetch_assoc()) { // Fetch for each vatrate
        // do what you want to do with the vats
        // use $result["vatRate"] and $result["total"]
    } 

一个while循环就是你想要的

那么你可以

while ($row = $query->fetch_assoc($result)) {
      //print you stuff here
}

查看文档中的示例

不处理duplicates@inetphantom是的,我没有想到,更多的是给op一个基础研究的起点。看到了吗