php - 如何在while循环中获取记录

标签 php html mysql loops while-loop

产品表:

id | mid | pid | owgh | nwgh |
1    3      12    1.5    0.6
2    3      12    1.5    0.3
3    3      14    0.6    0.4
4    3      15    1.2    1.1
5    4      16    1.5    1.0
6    4      17    2.4    1.2 
7    3      19    3.0    1.4
8    3      19    3.0    1.2

我需要在 while 循环中得到下面的结果:根据 mysql 查询

$sql = "SELECT pid,owgh,nwgh from produttable
  WHERE mid = 3 ";

我想要的结果如下:

Product Id  |  Old weight   | New weight 
---------------------------------------
    12            1.5           0.6
    12            1.5           0.3

             Tot: 3.0           0.9
   --------------------------------
    14            0.6           0.4

             Tot: 0.6           0.4
   --------------------------------
    15            1.2          1.1

             Tot: 1.2          1.1
   --------------------------------
    19            3.0          1.4
    19            3.0          1.2

             Tot: 6.0          2.6

$query = mysql_query($sql);

echo"<table>
     <tr>
       <td> Product Id </td>
       <td> Old Weight </td> 
       <td> New Wight </td>
    </tr>
    ";
    while($row = mysql_fetch_array($query )){
        echo "<tr>";
        echo "<td>".$row['pid']."</td>";
        echo "<td>".$row['owgh']."</td>";
        echo "<td>".$row['nwgh']."</td>";
        echo "</tr>";
        echo "<tr><td>-----</td>
                  <td>Tot : </td>
                  <td> </td></tr>";
    }
    echo "
    </table>";

但是我得到的结果如下

Product Id  |  Old weight   | New weight 
---------------------------------------
    12            1.5           0.6
   -------------- Tot 
    12            1.5           0.3
   ---------------Tot 
    14            0.6           0.4
   ---------------Tot 
    15            1.2          1.1
   ---------------Tot 
    19            3.0          1.4
   ---------------Tot 
    19            3.0          1.2

我不想要,我想要如下:

Product Id  |  Old weight   | New weight 
---------------------------------------
    12            1.5           0.6
    12            1.5           0.3

             Tot: 3.0           0.9
   --------------------------------
    14            0.6           0.4

             Tot: 0.6           0.4
   --------------------------------
    15            1.2          1.1

             Tot: 1.2          1.1
   --------------------------------
    19            3.0          1.4
    19            3.0          1.2

             Tot: 6.0          2.6

更新:2015 年 3 月 30 日

我可以得到低于结果的结果吗

Product Id  |  Old weight   | New weight 
---------------------------------------
    12            1.5           0.6
    12            1.5           0.3

             Tot: 3.0           0.9
   --------------------------------
    14            0.6           0.4

             Tot: 0.6           0.4
   --------------------------------
    15            1.2          1.1

             Tot: 1.2          1.1
   --------------------------------
    19            3.0          1.4
    19            3.0          1.2

             Tot: 6.0          2.6
-----------------------------------
 GRAND TOTAL  =  6.3            5

请注意:旧的权重值有重复权重,因此当 GRAND TOTAL 取其单一值时

Product Id  |  Old weight   | New weight 
---------------------------------------
    12            1.5           0.6
                  1.5           0.3

             Tot: 3.0           0.9
   --------------------------------
    14            0.6           0.4

             Tot: 0.6           0.4
   --------------------------------
    15            1.2          1.1

             Tot: 1.2          1.1
   --------------------------------
    19            3.0          1.4
                  3.0          1.2

             Tot: 6.0          2.6
 -----------------------------------
 GRAND TOTAL  =  6.3            5

请注意:旧的权重值有重复权重,因此当 GRAND TOTAL 取其单一值时

由于产品 ID 12、19 出现两次,因此显示一次及其 resp 值

请帮助我,如果我在 HTML tr td 格式上有误请纠正我,没有必要进入同一个表 tr,td ..我只想要我的结果以上述格式

最佳答案

while($row = mysql_fetch_array($query )){ echo "<td>.$row['pid'].</td>"; echo "<td>.$row['owgh'].</td>"; echo "<td>.$row['nwgh'].</td>"; if (isset($before) and $before!=$row['pid']) { echo "<td>-----</td>"; } $before= $row['pid']; }

关于php - 如何在while循环中获取记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29208997/

相关文章:

php将某些字段更新到数据库

php - 以相同的形式上传图片和mp3,但mp3没有上传

html - 变换 div 板顶部

MySQL,最后一个(再次)

php - MySQL 查询没有结果

authentication - 如何验证网站中的 session

php - mysql 从文件插入更新(如果存在)否则更新

javascript - 我可以为 html 文本字段形式的元素提供相同的名称和 ID 吗?

html - 即使我在 bootstrap 中使用 col-lg-6,如何使我的表单控件内联?

mysql - 最多的电影属于哪个等级?