使用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
)
)