Php 而循环如何只回显一个值,并根据回显一个值进行休息 while($b=mysql\u fetch\u数组($a)){ 回显“id事件”“$b[id_事件]。””; 回显“id用户”“$b[id_用户]。””;

Php 而循环如何只回显一个值,并根据回显一个值进行休息 while($b=mysql\u fetch\u数组($a)){ 回显“id事件”“$b[id_事件]。””; 回显“id用户”“$b[id_用户]。””;,php,mysql,Php,Mysql,这是输出 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 3 - 36 4 - 32 4 - 36 3 - 32, 36 4 - 3

这是输出
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 3 - 36 4 - 32 4 - 36 3 - 32, 36 4 - 32, 36 我试过那样做

while($b=mysql\u fetch\u数组($a)){if($b['id\u event'])!=$current\u event){
$current_event=$b['id_event'];
回显“
”.$b['id_事件].-'.$b['id_用户]; }else{echo',';}


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

3 - 32, 36 4 - 32, 36 3 - 32,
4-32,您可以将结果映射到中间列表进行处理

查看PHPFiddle:

$event_list=array();
而($b=mysql\u fetch\u数组($a)){
如果(!array_key_存在($b[“id_event”],$event_list)){
$event_list[$b[“id_event”]]=array();
}
$event_list[$b[“id_event”][]=$b[“id_user”];
}
foreach($event\u列表为$event=>$users){
echo“$event-”.join(“,”,$users)。“
”; }
工作正常,但在使用join时,我无法显示每个$users的数据

$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 />";
}
foreach($event\u列表为$event=>$users){
echo“$event-”.join($users,“some data”)。“
;”
是echo

foreach ($event_list as $event => $users) {
echo "<span>$event - " . join( $users,"some data") . "</span><br />";}
3-36a32 4-36a32 我还期待着呢

3 - 36a32 4 - 36a32 3-36a32a
4-36A32我不明白。请解释清楚 3 - 36a32 4 - 36a32 3 - 36a32a 4 - 36a32a