PHP MYSQL Foreach 日期列表

标签 php mysql

我有两个表,“table1”和“table2”。 “table1”中是商品标题,“table2”中是日期和商品接收数量

SQL:

SELECT t2.title, t1.price, t1.quantity, t1.date
                  FROM table2 t2
                  JOIN table1 t1
                    ON t1.id = t2.t_id
                 WHERE t2.date BETWEEN '2017-07-12' AND '2017-07-15'

现在我得到这样的结果:

title date quantity
item1 2017-07-12 100
item2 2017-07-12 120
item3 2017-07-12 150
item1 2017-07-13 200
item2 2017-07-13 320
item3 2017-07-13 450

但我想要得到这样的结果: enter image description here

现在我的 PHP 代码如下:

            <?php foreach ($AmmunitionDate as $key => $row): ?>
            <tr>
                <td> <?=$row['id']?> </td>
                <td> <?=$row['title']?> </td>
                <td> <?=$row['quantity']?> </td>
                <td>  </td>
            </tr>
            <?php endforeach ?>

我该如何解决这个任务?

谢谢

最佳答案

在mysql查询中尝试这样

SELECT t2.title, Group_concat( `t1.date` order by `t1.date`) as date, 
Group_concat( t1.quantity order by `t1.date`) as quantity  ,sum(`t1.quantity`) as total 
FROM table2 t2
JOIN table1 t1
ON t1.id = t2.t_id
WHERE t2.date BETWEEN '2017-07-12' AND '2017-07-15' group by `t2.title`

它产生的输出为

title    date                    quantity     total
item1   2017-07-12,2017-07-13    100,200       300
item2   2017-07-12 ,2017-07-13   120,320       440
item3   2017-07-12 ,2017-07-13   450,150       600

然后分解逗号分隔值并按照您的意愿显示它。

关于PHP MYSQL Foreach 日期列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45140987/

相关文章:

php - 为什么在尝试设置类变量时出现此错误

php - MySQL 事务和 USE `database name` 语句

php - strip_tags() 容易受到脚本攻击吗?

mysql - 修改 JOIN 以通过外部表中的 ID 列表过滤结果

mysql - mysql中的日期排序

java - Apache Shiro 中的初始化异常错误

php - 如何运行具有多个值的删除sql查询

php - Yii2 REST API 不返回预期结果

sql - MySQL 'IN'子句及返回的记录集顺序

php - MySQL - 选择用户不拥有的所有行