Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.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
使用MySQL和PHP进行折扣数学运算-无法获得结果_Php_Mysql_Database_Math - Fatal编程技术网

使用MySQL和PHP进行折扣数学运算-无法获得结果

使用MySQL和PHP进行折扣数学运算-无法获得结果,php,mysql,database,math,Php,Mysql,Database,Math,我有一个查询,用于获取折扣后支票的总金额: 请注意,我必须先将数量乘以价格 SELECT SUM(pino_order_item.ord_item_quan * pino_menu_item.menu_item_price) * (1 - pino_table_order.order_discount) FROM pino_order_item join pino_menu_item join pino_table_order WHERE ord_order_id = %s AND menu_i

我有一个查询,用于获取折扣后支票的总金额: 请注意,我必须先将数量乘以价格

SELECT SUM(pino_order_item.ord_item_quan * pino_menu_item.menu_item_price) * (1 - pino_table_order.order_discount)
FROM pino_order_item join pino_menu_item join pino_table_order
WHERE ord_order_id = %s AND menu_item_id = ord_item_mid
我试图用PHP在我的页面上重复这一点,比如:

回音编号\u格式$row\u get\u总计['SUMord\u item\u quan*菜单\u item\u price*1-订单\u折扣'],2

根本不起作用。。它给了我完全错误的号码

请帮助我确定我的编码问题,并请注意,我想要的只是将订单项目的数量与价格相乘,然后计算以百分比20或30输入的折扣,例如,得到两个结果,一个是折扣前的结果,一个是折扣后的结果

先谢谢你

我在查询中没有看到任何group by关键字,如果您试图获取订单总数,则需要根据订单id进行分组。 您说过折扣值存储为整数,如20或30。从1中减去它将分别得到-19或-29这样的意外值。这可能是你抱怨的奇怪数字的原因。 正确的SQL应该这样说:

选择总和tblItems.price*1-tblOrders.discount/100作为总检查,从tblItems使用订单号加入tblOrders,其中tblItems.order号按订单号分组

然后像这样的东西来回应结果:


echo$row['totalCheck']

您的数字是多少,您期望得到什么结果?您得到了什么?@deceze。。例如,我有数量=2价格=10.00折扣=0。。。。结果-1900.00。。。。。。我不知道这个代码到底是对还是错!!??如果订单折扣为20或30,则需要将其作为分数,即除以100,然后再从中减去1@xd6_ .. 我的问题是我对数学知之甚少,我也不知道我是如何像你提到的那样编写数学代码的。。如果你能提到所有的代码,这将是伟大的。。谢谢您是每件都有折扣还是整张支票只打一个折扣?您查询的方式是计算支票总额,然后减去折扣。