Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.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_Html_Mysql - Fatal编程技术网

如何使用php计算选定盒子的组合体积?

如何使用php计算选定盒子的组合体积?,php,html,mysql,Php,Html,Mysql,所以在我的数据库中,其中一个表叫做box,它有id、长度、宽度和高度 这就是我网站上的内容。复选框的值只是表格框中的id,稍后我使用它从框中选择长度、宽度和高度,其中id=“$checkbox_id”获取变量$length、$width和$height。最后,我需要回显所有选定框的组合卷 但这就是它变得棘手的地方 很明显,我可以将变量相乘得到$volume,但要正确地将变量分配给每个复选框值,在这种情况下,我需要为每个值使用$checkbox\u id,这会导致变量$checkbox\u id

所以在我的数据库中,其中一个表叫做box,它有id、长度、宽度和高度

这就是我网站上的内容。复选框的值只是表格框中的id,稍后我使用它从框中选择长度、宽度和高度,其中id=“$checkbox_id”获取变量$length、$width和$height。最后,我需要回显所有选定框的组合卷

但这就是它变得棘手的地方

很明显,我可以将变量相乘得到$volume,但要正确地将变量分配给每个复选框值,在这种情况下,我需要为每个值使用$checkbox\u id,这会导致变量$checkbox\u id卡在其中。没有这个变量,我无法在数据库中进行选择并进行简单的体积计算

这使得for-each代码针对所选框的数量重复自身:

观察1:对不起,请忽略文本框/按钮中的葡萄牙语

观察2:在这种情况下,框1有10个长度、10个宽度和10个高度。框2有11个长度、10个宽度和10个高度。我不知道这是否重要

这让我非常困惑,也不知道如何只显示一个盒子中的卷的组合值

任何帮助都将不胜感激!提前谢谢

编辑: 这是我的密码。仍然得到重复的结果。

SELECT SUM (length * width * height) AS volume FROM box WHERE id =  '$checkbox_id'
做你需要的吗?

会的

SELECT SUM (length * width * height) AS volume FROM box WHERE id =  '$checkbox_id'

做你需要的吗?

你能不能在渲染盒子之前先计算一下查询中的体积?@RamRaider我会试试看我是否遇到任何问题。你能发布一些代码让我们看看你在哪里吗?@BenPearlKahan会立即编辑问题你能不能在渲染盒子之前计算一下查询中的体积boxes?@RamRaider我会试试看我是否遇到任何问题。你能发布一些代码让我们看看你在哪里吗?@BenPearlKahan会马上编辑这个问题Hi Ian-如果我误解了你,我深表歉意,但是如果你只是想显示boxes卷的一个组合值,你不就声明$total_volume=0;在foreach循环之外,则行$total\u volume=$total\u volume+$volumeBoxes;在循环内部,然后在退出foreach循环后打印$total_volume?但正如我所说的,也许我误解了您的意图。嘿,这很好地工作,但目前我的问题是,显示最终结果的结果不断被foreach循环重复。我认为没有foreach循环,没有其他方法可以进行计算将div移到foreach循环之外,并用$total_volume替换$volumeBoxes,例如,echo框的总体积为$total_volume;嗨,伊恩-如果我误解了你,我向你道歉,但是如果你只是想显示盒子体积的一个组合值,你不就声明$total\u volume=0;在foreach循环之外,则行$total\u volume=$total\u volume+$volumeBoxes;在循环内部,然后在退出foreach循环后打印$total_volume?但正如我所说的,也许我误解了您的意图。嘿,这很好地工作,但目前我的问题是,显示最终结果的结果不断被foreach循环重复。我认为没有foreach循环,没有其他方法可以进行计算将div移到foreach循环之外,并用$total_volume替换$volumeBoxes,例如,echo框的总体积为$total_volume;