PHP 动态求和回显结果(困难)

标签 php html mysql forms search

这是一个困难的问题,但对专业人士来说很容易。

我在 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/

相关文章:

php - 在 Slim Framework v3 中访问多个 GET 参数

php - 如何使用 php 上的 whois 响应数据获取域过期日期?

jquery - 在 Transit.js 转换期间内联显示隐藏的 DIVS?

mysql - 是否可以不用程序进行mysql事务?

Python:MySQLdb 和 "Library not loaded: libmysqlclient.16.dylib"

php - 如果开始时间和结束时间相同,时间选择器返回空值

javascript - Ajax 数据类型 : JSON respond is: OK but No output?

javascript - 在数字上使用 String.prototype.toUpperCase() 或 String.prototype.toLowerCase() 是否安全?

javascript - 使用 jQuery 在 Angular 4 中遍历 DOM

mysql 查询列中的相等值