这是一个困难的问题,但对专业人士来说很容易。
我在 mysql 中有以下字段:产品名称、mycost、sellprice 和 stock。因为我需要知道每种产品对我的商店的投资有多少,所以我创建了以下动态计算并且运行良好:
<td><?php echo $product['name'] ?></td>
<td><?php echo $product['stock'] ?></td>
<td><?php echo $product['mycost'] ?></td>
<td><?php echo $product['sellprice'] ?></td>
这里我们根据mycost(我为产品支付的价格)*股票即时计算我在我店里的投资(钱)有多少
<td><?php echo number_format($product['mycost'] * $product['stock'],0,',','.'); ?></td>
它工作正常,如果我的产品成本是 10,库存是 100,那么我即时得到的结果是 1000 的投资
现在因为产品的结果 (1000) 正在运行(没有存储在 mysql 中)我有以下问题:
搜索结果显示例如 3 种不同的产品,其中 3 种不同的即时投资结果未存储在 mysql 中。我如何总结这个结果并显示在页面顶部?
如果它是存储在 mysql 中的结果,这很容易,但因为它是这样的:
<td><?php echo number_format($product['mycost'] * $product['stock'],0,',','.'); ?></td>
我看没有办法做到这一点,所以我来这里请教专业人士
有什么想法吗?
编辑: 这是完整的代码
<?php
$cualcategoria = mysqli_real_escape_string($database,$_GET['categoria']);
$verproductos = mysqli_query($database, "SELECT * FROM `productos`");
while($mostrar = mysqli_fetch_assoc($verproductos)) {
?>
<table class="table1000">
<tr>
<td style="width:120px;"><div id="rightImage"><img style="border:2px solid #cccccc;" alt="image" src="fotos/<?php echo $mostrar['codigo'] ?>.jpg" width="90" height="90"></div></td>
<td valign="top" style="width:900px;"><table class="table900">
<tr>
<td class="header150">Producto</td>
<td class="header150">Marca</td>
<td class="header150">Modelo</td>
<td class="header150">Cantidad</td>
<td class="header150">Capital</td>
<td class="header150">Código</td>
</tr>
<tr>
<td class="header150small"><?php echo $mostrar['producto'] ?></td>
<td class="header150small"><?php echo $mostrar['marca'] ?></td>
<td class="header150small"><?php echo $mostrar['modelo'] ?></td>
<td class="header150small"><?php echo number_format($mostrar['stock'],0,',','.'); ?></td>
<td class="header150small">$ <?php echo number_format($mostrar['costo'] * $mostrar['stock'],0,',','.'); ?></td>
<td class="header150small"><a class="header150small" href="generar.php?codigo=<?php echo $mostrar['codigo'] ?>"><?php echo $mostrar['codigo'] ?></a></td>
</tr>
<tr>
<td class="header150">Precio Costo</td>
<td class="header150">Precio Neto</td>
<td class="header150">IVA Incluido</td>
<td class="header150">Ganancia</td>
<td class="header150">Ganancia Total</td>
<td class="header150">Proveedor</td>
</tr>
<tr>
<td class="header150small">$ <?php echo number_format($mostrar['costo'],0,',','.'); ?></td>
<td class="header150small">$ <?php echo number_format($mostrar['venta'],0,',','.'); ?></td>
<td class="header150small">$ <?php echo number_format($mostrar['coniva'],0,',','.'); ?></td>
<td class="header150small">$ <?php echo number_format($mostrar['venta'] - $mostrar['costo'],0,',','.'); ?>
</td>
<td class="header150small">$ <?php echo number_format(($mostrar['venta'] - $mostrar['costo']) * $mostrar['stock'],0,',','.'); ?></td>
<td class="header150small"><?php echo $mostrar['proveedor'] ?></td>
</tr>
</table>
</td>
</tr>
</table>
<?php
}
?>
最佳答案
一种方法是使用变量在旅途中对其求和(这里我使用 totalInvestment 作为变量)
$totalInvestment = 0;
foreach($products as $product):
$totalInventsment += product['mycost'] * $product['stock']; ?>
...
<td><?php echo $product['name'] ?></td>
<td><?php echo $product['stock'] ?></td>
<td><?php echo $product['mycost'] ?></td>
<td><?php echo $product['sellprice'] ?></td>
...
<?php endforeach;
然后你可以像这样回显出来
<?php echo number_format($totalInventsment,',','.'); ?>
编辑 如果你想要它在顶部,你可以将它添加到你的文件的顶部(会使网站加载速度慢一点 n(x)
$totalInvestment = 0;
foreach($products as $product){
$totalInventsment += product['mycost'] * $product['stock'];
}
echo number_format($totalInventsment,',','.');
关于PHP 动态求和回显结果(困难),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30900700/