【问题标题】:Table UI View : Mysql - Php表 UI 视图:Mysql - Php
【发布时间】:2014-04-11 09:44:57
【问题描述】:

我的表格视图:

id  |   packetId    |   fweight    |     
1   |     002       |     150      |    
2   |     002       |     230      |   
3   |     002       |     200      |      

但我希望我的表格 UI 应该如下所示 :

id  |   packetId    |   fweight    |    sum(fweight)
1   |     002       |     150      |    
2   |               |     230      |   
3   |               |     200      |        580

我想避免重复 (002) 值,fweight sum 也应该显示在最后一个插入 id 的另一列中。

ID - 主要 id,

我如何在 Mysql 和 php 中得到这个。

查询我目前所知道的:

"SELECT id, packetId , fweight from product where packetId="002" ";

【问题讨论】:

  • 在 SQL 中很难做到。你最好在你的程序逻辑中这样做。
  • @juergen : 你能指导我“程序逻辑”吗
  • 您的前端 (PHP) 可以解决问题。
  • @Christian:你能指导我如何在 PHP 中做同样的事情,因为我还在学习很多关于 php、mysql 的知识
  • 不,我们不能为您做这一切。尝试一下,如果遇到困难,请准确添加尝试的位置以及问题所在。那么我们或许可以为您提供帮助

标签: php mysql


【解决方案1】:

假设你有所有的头文件/conn 等

试试这个:

$result = mysqli_query($con,"SELECT id, packetId , fweight from product where packetId='002'");

$tmp = "";
$ctr = 0;
$total = 0;
while($row = mysqli_fetch_array($result))
  {
      echo "<tr><td>";

      echo $row['id'];

      echo "</td><td>";
      if($ctr == 0 || $tmp != $row['id'])
      {
          echo $row['packetId'];
      }
      echo "</td><td>";

      echo $row['fweight'];

      $total = $total + $row['fweight'];

      echo "</td><td>";
      if($tmp != $row['id'])
      {
          echo $total;
          $total = 0;
          $tmp = $row['id'];
      }
      echo "</td></tr>";
      $ctr++;
  }

【讨论】:

  • +1 获得 gr8 支持,谢谢,试试这个,你能指导我 $tmp = ""; $ctr = 0; $总计 = 0; ...它们是做什么用的
  • 嘿,克里斯蒂安,你能帮我解决我的另一个问题吗:stackoverflow.com/questions/29208997/…,请帮帮我
猜你喜欢
  • 1970-01-01
  • 2012-11-07
  • 1970-01-01
  • 1970-01-01
  • 2014-03-20
  • 2011-01-05
  • 2014-03-20
  • 2020-04-08
  • 1970-01-01
相关资源
最近更新 更多