php - 按年份和月份一起显示的捐款

标签 php mysql

我是 php 和 mysql 的新手。我希望我在下面提供了足够的信息。

表名捐赠

|========================================================================|
|  username  | game | donation | month | year |      time_stamp     | id |
|========================================================================|
| TheSquatch | DayZ |    5     | June  | 2015 | 2015-06-11 00:17:46 | 1  |
|  TheMusic  | DayZ |    20    | July  | 2015 | 2015-07-10 03:20:46 | 2  |
| Sasquatch  | DayZ |    35    | July  | 2015 | 2015-07-10 03:26:04 | 3  |
|========================================================================|

这是我当前的脚本。

$result = mysqli_query($con,"SELECT username, game, donation, month, year, time_stamp, id FROM donations GROUP BY year, month ORDER BY id");
while($row = mysqli_fetch_array($result)) {
echo "<center><b>" . ($row['3']) . " " . ($row['4']) . "</b></center>";
echo str_repeat("<center>" . ($row['0']) . " $" . ($row['2']) . " (" . ($row['1']) . ")<br></center>",1
);
}

上面的代码目前给出了以下结果。

June 2015
TheSquatch $5 (DayZ)
July 2015
TheMusic $20 (DayZ)

我需要它给我以下结果。 (当月的所有捐款不仅仅是第一笔。)

June 2015
TheSquatch $5 (DayZ)
July 2015
TheMusic $20 (DayZ)
Sasquatch $35 (DayZ)

如果我删除“GROUP BY year, month”,我会得到以下结果。

June 2015
TheSquatch $5 (DayZ)
July 2015
TheMusic $20 (DayZ)
July 2015
Sasquatch $35 (DayZ)

提前致谢。

-------------------------------------------- ------

这是我在下面得到的结果所使用的最终代码。

$result = mysqli_query($con,"SELECT username, game, donation, month, year, time_stamp, id FROM donations ORDER BY id");
$old_row = 'blank';
while($row = mysqli_fetch_array($result)) {
if ($row['3'] . " " . $row['4'] != $old_row) {   
$old_row = ($row['3'] . " " . $row['4']); 
echo "<center><b>" . ($row['3']) . " " . ($row['4']) . "</b></center>";
}  
echo str_repeat("<center>" . ($row['0']) . " $" . ($row['2']) . " (" . ($row['1']) . ")<br></center>",1
);
}

结果。

June 2015
TheSquatch $5 (DayZ)
July 2015
TheMusic $20 (DayZ)
Sasquatch $35 (DayZ)

-------------------------------------------- ------

最佳答案

     $result = mysqli_query($con,"SELECT username, game, donation, month, year, time_stamp, id FROM donations  ORDER BY id");
  $old_row = 'blank';
   while($row = mysqli_fetch_array($result)) {
    if ($row['3'] . " " . $row['4'] != $old_row) {   
   $old_row = ($row['3'] . " " . $row['4']); 
    echo "<center><b>" . ($row['3']) . " " . ($row['4']) . "</b></center>";
   }  
  echo str_repeat("<center>" . ($row['0']) . " $" . ($row['2']) . " (" . ($row['1']) . ")<br></center>",1
    );
    }

关于php - 按年份和月份一起显示的捐款,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31338824/

相关文章:

php - 如果在更新多行时它不存在,我如何插入一行?

php - 使用 JOIN 或不同解决方案的 MySQL 查询

php - 如何单击表中的单选按钮来处理多条记录?

php - TCPDF 如何设置标题中的上边距

php - CodeIgniter - 从数组中获取下一条记录

php - 通过 Google Analytics 和 PHP 跟踪电子商务订阅

php - MySQL 数据库中的 TinyMCE 格式文本

php - 充分利用单个 MySQL 查询

mysql - 为什么在尝试在数据库名称中使用数字和下划线时出现 `ActiveRecord::NoDatabaseError: Unknown database` 错误?

mysql - SQL 语法错误 #1064 游标 (mysql)?