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