-2
while($b = mysql_fetch_array($a)) {
echo "id event </br>".$b[id_event] ."</br>";
echo "id user </br>".$b[id_user] ."</br>";

这是输出

3 - 32
3 - 36
4 - 32
4 - 36

我想让它显示一个事件ID下的所有用户,就像那样

3 - 32, 36
4 - 32, 36

我试过这样

while($b = mysql_fetch_array($a)) {if ($b['id_event'] != $current_event) { $current_event = $b['id_event']; echo '<br>' . $b['id_event'] . ' - ' . $b['id_user']; } else { echo ', ';}}


但它只为一个事件 ID 选择了一个用户

3 - 32,
4 - 32,
4

2 回答 2

2

您可以将结果映射到中间列表进行处理。

查看 PHPFiddle:http ://phpfiddle.org/main/code/evx-g61

$event_list = array();

while ($b = mysql_fetch_array($a)) {
    if (!array_key_exists($b["id_event"], $event_list)) {
        $event_list[$b["id_event"]] = array();
    }
    $event_list[$b["id_event"]][] = $b["id_user"];
}

foreach ($event_list as $event => $users) {
    echo "<span>$event - " . join(", ", $users) . "</span><br />";
}
于 2013-09-03T03:24:26.643 回答
0

它工作得很好,但是当我使用 join 推荐时,我无法显示每个 $users 的数据

foreach ($event_list as $event => $users) {
echo "<span>$event - " . join( $users,"some data") . "</span><br />";}

这是回声

3 - 36a32
4 - 36a32

我期待着

3 - 36a32a
4 - 36a32a
于 2013-09-04T02:01:48.897 回答