【发布时间】:2020-10-02 08:19:30
【问题描述】:
我正在尝试创建一个时间表。通过选择日期,我将不得不按公司显示当时过期的所有产品,我们以这两个数据库为例:
公司DB:
+------------+-----------+
| id_company | name |
+------------+-----------+
| 1 | Microsoft |
+------------+-----------+
| 2 | Apple |
+------------+-----------+
| 3 | IBM |
+------------+-----------+
产品DB:
+-------------+----------------+---------------+---------------+
| id_products | id_pro_company | name_products | control_dates |
+-------------+----------------+---------------+---------------+
| 1 | 1 | pc | 2020-10-02 |
+-------------+----------------+---------------+---------------+
| 2 | 2 | tablet | 2020-10-10 |
+-------------+----------------+---------------+---------------+
| 3 | 3 | phone | 2030-10-10 |
+-------------+----------------+---------------+---------------+
查询:
SELECT * FROM products as p JOIN company as c on c.id_company = p.id_pro_company and p.control_dates LIKE ?
现在我有我需要的所有记录,但是我如何在 php.ini 中对输出进行分组。 示例:
$date = '%2020-10%';
$query = $mysqli -> prepare('SELECT * FROM products as p JOIN company as c on c.id_company = p.id_pro_company and p.control_dates LIKE ?');
$query -> bind_param('s',$date);
$query -> execute();
$result = $query -> get_result();
if($result -> num_rows > 0){
//how group for company then for products then output the record?
}else{
echo 'Nothing to do';
}
正如您在代码中的评论中看到的那样,我不明白如何对包含产品的公司进行分组。
示例输出:
1. Microsoft
- PC
* 1 - pc - 2020-10-02
2. Apple
-tablet
* 2 - tablet - 2020-10-10
【问题讨论】: