PHP MYSQL Foreach日期列表

PHP MYSQL Foreach日期列表,php,mysql,Php,Mysql,我有两张桌子,“表一”和“表二”。“表1”中为项目标题,“表2”中为日期和项目接收数量 SQL: 现在我得到这样的结果: 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 但我想得到这样的结果: 现在我用PHP编写了以下代码: &

我有两张桌子,“表一”和“表二”。“表1”中为项目标题,“表2”中为日期和项目接收数量

SQL:

现在我得到这样的结果:

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
但我想得到这样的结果:

现在我用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 ?>

我如何解决这个任务


谢谢你

如果你想保持数据库的原样,让你的生活更艰难,有两种解决方案:

第一个解决方案:

对历史选项卡的项表1进行两次查询。使用PHP
echo
,构建一个javascript,其中包含包含MYSQL结果的javascript变量。然后用javascript制作一个表格

第二(更好的解决方案):


进行查询,从历史记录表中获取所需的所有内容并获取日期。有了它,您可以创建表的维度(因为您知道一个
中有多少
)。之后,在后台发出AJAX请求,并添加更多带有历史记录的表行和另一个带有名称的表行。

首先,您应该处理数据并将其传递给数组

<?php 
foreach($AmmunitionDate as $item){
  $arr[$item['title']] = array(
          $item['date'] = array(
              'quantity' = $item['quantity'];
          )
     )
}
?>


之后,您可以使用任何循环在表中回显结果。

在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

然后分解coma分隔值并按您的意愿显示。

尝试将MySQL中的结果组织到多维数组中,日期为数组键谢谢@谢谢你,这是最好的解决办法!
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