Php 列出两个连接表的结果
我有两个表格如下: 文件 id |路径|文件名 更改 id |文件| id |更改 文件\u id字段连接到文件表中的id 我对这些表所做的是存储哪些文件被更改以及在文件中所做的更改 我想做的是列出文件,并在文件下列出在该表中所做的更改 在PHP中实现这一点的最佳和最优化的方法是什么 谢谢你的帮助 注意。使用连接查询:Php 列出两个连接表的结果,php,mysql,list,Php,Mysql,List,我有两个表格如下: 文件 id |路径|文件名 更改 id |文件| id |更改 文件\u id字段连接到文件表中的id 我对这些表所做的是存储哪些文件被更改以及在文件中所做的更改 我想做的是列出文件,并在文件下列出在该表中所做的更改 在PHP中实现这一点的最佳和最优化的方法是什么 谢谢你的帮助 注意。使用连接查询: SELECT files.*,changes.change FROM files LEFT JOIN changes ON change.file_id = files.
SELECT files.*,changes.change FROM files
LEFT JOIN changes ON change.file_id = files.id
ORDER BY files.id;
这将获得一个结果集,其中每一行包含:
- 身份证
- 文件名
- 路径
- 改变
$fileId = null;
foreach ($results as $result) {
if ($fileId != $result['id']) {
echo "{$result['filename']}\n";
$fileId = $result['id'];
}
echo " {$result['change']}\n";
}
我可以使用连接查询得到结果。我想要实现的是列出结果,比如:文件1=>CHANGES,文件2=>CHANGES等等。谢谢您的回答。@netcoder我想他需要一个
右连接
(或表反转…)和一个按文件顺序_id
,这样他就可以按文件分组对每个文件进行所有更改(而不是仅1次)。@jeroen:对不起,我还没有想到这是您想要的。我更新了我的答案。@netcoder很抱歉,这是个麻烦,但他需要从更改中加入文件
,以便获得文件的所有更改。也许即使是一个普通的连接也会更好地获得那些没有更改的文件。谢谢大家的回答。实际上,我想要这样一个列表:Path\Filename>change1>change2>change3path\Filename>change1>change2