Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用MySql和PHP对公共日期下的数据进行分类_Php_Mysql - Fatal编程技术网

使用MySql和PHP对公共日期下的数据进行分类

使用MySql和PHP对公共日期下的数据进行分类,php,mysql,Php,Mysql,我试图建立一个项目管理系统,但我在尝试对共享同一日期的项目进行分类时遇到了困难。例如,如果我今天发布了两个项目,昨天发布了两个项目,我希望它显示如下: 2019-06-01: project 1 project 2 2019-05-31: project 3 project 4 这是桌子的样子 ------------------------------------------------ id | project_name | date |

我试图建立一个项目管理系统,但我在尝试对共享同一日期的项目进行分类时遇到了困难。例如,如果我今天发布了两个项目,昨天发布了两个项目,我希望它显示如下:

2019-06-01:
project 1 
project 2
2019-05-31:
project 3
project 4
这是桌子的样子

------------------------------------------------
   id   |   project_name   |       date       |
   01   |   project 1      |    2019-06-01    |
   02   |   project 2      |    2019-06-01    |
   03   |   project 3      |    2019-05-31    |
   04   |   project 4      |    2019-05-31    |
------------------------------------------------
这是我的代码:


考虑以下几点:

dll:

DROP TABLE my_table;

CREATE TABLE my_table
(id SERIAL PRIMARY KEY
,project_name VARCHAR(12) NOT NULL
,date DATE NOT NULL
);

INSERT INTO my_table VALUES
(1,'project 1','2019-06-01'),
(2,'project 2','2019-06-01'),
(3,'project 3','2019-05-31'),
(4,'project 4','2019-05-31');
Array
(
    [2019-06-01] => Array
        (
            [0] => project 1
            [1] => project 2
        )

    [2019-05-31] => Array
        (
            [0] => project 3
            [1] => project 4
        )

)
代码

<?php

include('path/to/connection/stateme.nts');

$query = "
SELECT date
     , project_name
  FROM my_table
 ORDER
    BY date DESC
     , project_name; -- ORDER BY is not strictly necessary, as the ordering can be done in presentation code.
";

$result = mysqli_query($conn,$query);

$array = array();

while($row = mysqli_fetch_assoc($result)){
  $array[] = $row;
}

$new_array = array();

foreach($array as $v){
  $new_array[$v['date']][] = $v['project_name'];
}

print_r($new_array);
?>

显然,您可以使用PDO方法摆脱第一个查询。在第二个查询中删除groupby和date内容。只需选择所需的行,并在PHP.nice explaution@草莓中处理所有其他内容
Array
(
    [2019-06-01] => Array
        (
            [0] => project 1
            [1] => project 2
        )

    [2019-05-31] => Array
        (
            [0] => project 3
            [1] => project 4
        )

)