Php 数据库:从每个数组结果的同一列中获取两个字段
上面是我的旅行清单表,我想获取一份已预订旅行的人的名单,包括他们各自以前的旅行日期。我不知道如何在我的查询中包括他们各自以前的旅行日期 下面是我的疑问Php 数据库:从每个数组结果的同一列中获取两个字段,php,mysql,sql,database,Php,Mysql,Sql,Database,上面是我的旅行清单表,我想获取一份已预订旅行的人的名单,包括他们各自以前的旅行日期。我不知道如何在我的查询中包括他们各自以前的旅行日期 下面是我的疑问 +----+--------------+-------------+ | id | pax | travel_date | +----+-------+--------------------+ | 1 | passenger1 | 2018-06-14 | | 2 | passenger2 | 2018-06-
+----+--------------+-------------+
| id | pax | travel_date |
+----+-------+--------------------+
| 1 | passenger1 | 2018-06-14 |
| 2 | passenger2 | 2018-06-14 |
| 3 | passenger3 | 2018-03-24 |
| 4 | passenger1 | 2018-03-16 |
| 5 | passenger1 | 2018-02-05 |
| 6 | passenger3 | 2018-01-11 |
+----+--------------+-------------+
我正在寻找类似的查询结果,例如passenger1
$currentDate = '2018-05-14';
SELECT pax,travel_date FROM travel_manifest WHERE travel_date > 2018-05-14;
试试这个:
Array
(
[id] => 1
[name] => passenger1
[travel_date] => 2018-05-14
[travel_date] => 2018-05-16 //previous travel date
)
它将返回如下内容:
SELECT id, pax AS name, GROUP_CONCAT(DATE_FORMAT(travel_date, '%Y-%m-%d')) AS travel_dates
FROM travel_manifest
WHERE travel_date > '2018-03-15'
GROUP BY name
在PHP中,您可以使用
注意:我假设travel_date列是
DATETIME
类型。更正,标题应该是-从同一列中获取两个数据集。我看不到结果集与数据集的关系。我想知道“先前”在你的宇宙中是否有其他意义。草莓,专注于这个问题。请不要这样做。看到了吗
id name travel_dates
1 passenger1 2018-06-14,2018-03-16
2 passenger2 2018-06-14
3 passenger3 2018-03-24
$travel_dates = explode(',', $row['travel_dates']);