Php mysql连接组循环混淆

Php mysql连接组循环混淆,php,mysql,Php,Mysql,这里没有经验的mysql用户:) 我有两张桌子 其中一个包含用户创建的事件列表。它还对事件进行了描述 另一个表包含事件的日期。它还具有事件的唯一id。一个事件可以有多个相关日期 我的问题是: 我希望返回一个包含事件和描述的列表。现在我使用一个for-each循环来实现这个 例如: [loop] $list .= '<tr><td>$date</td><td>$description</td><tr>'; [/loop

这里没有经验的mysql用户:)

我有两张桌子

其中一个包含用户创建的事件列表。它还对事件进行了描述

另一个表包含事件的日期。它还具有事件的唯一id。一个事件可以有多个相关日期

我的问题是:

我希望返回一个包含事件和描述的列表。现在我使用一个for-each循环来实现这个

例如:

[loop]
    $list .= '<tr><td>$date</td><td>$description</td><tr>';
[/loop]

return $list;
$list .= '
    <tr>
        <td>two-events-with-same-dates-here-but-shown-as-one</td>
        <td>$description 1<br />$description 2</td>
    </tr>
    ';
return $list;
[循环]
$list.='$date$description';
[/loop]
返回$list;
现在我需要显示与一个事件日期相同的事件,但要结合描述

例如:

[loop]
    $list .= '<tr><td>$date</td><td>$description</td><tr>';
[/loop]

return $list;
$list .= '
    <tr>
        <td>two-events-with-same-dates-here-but-shown-as-one</td>
        <td>$description 1<br />$description 2</td>
    </tr>
    ';
return $list;
$list.='
此处有两个日期相同但显示为一个的事件
$description 1
$description 2 '; 返回$list;
所以我的想法是按日期分组,用新的查询为每个组运行一个循环,并将描述组合成一个描述

在循环中运行新查询对我来说听起来是错误和低效的。我想mysql有一些类似这样的智能内置函数


想法?

如何按日期对结果排序,然后在php中添加
,直到日期更改

另一个解决方案是使用group_concat。例如:

select date, group_concat(description SEPARATOR '<br/>')
from events
group by date
选择日期,分组(描述分隔符“
”) 从事件中 按日期分组
这将产生

'2012-01-01' | 'description1<br/> description2'
“2012-01-01”|“说明1
说明2”
我现在看到您有两个表,但这也将是直截了当的。把两张桌子连在一起,然后像那样使用group_concat函数。对不起,耽搁了,我刚因为感冒起床。您与组_concat的解决方案正是我想要的:)