将sql语句转换为数组导致重复

时间:2017-03-02 17:08:44

标签: php mysql sql

这是我第一次使用该网站。我需要一些帮助。当我运行此代码并获得输出时,我得到重复的数据行。因此,例如,成员可能在列表上3-4次,具体取决于他参加活动的年数。我需要以某种方式将任何类似的数据组合成一行,如果这有意义吗?因此John Doe在他离开的这些年里不应该只列出7次。

ondrag

1 个答案:

答案 0 :(得分:0)

您可以使用成员的ID作为数组键来查看他是否已经存在,如果是,只需添加到year字段。像这样:

while($registros_mem = $retorno_mem->fetch(PDO::FETCH_ASSOC))
{
    if ( ! array_key_exists( $registros_mem['id'], $data1)
    {
        // We need to make year an array so it can hold multiple years.
        $registros_mem['year'] = [$registros_mem['year']];
        $data1[$registros_mem['id']] = $registros_mem;
    } else {
        $data1[$registros_mem['id']]['year'][] = $registros_mem['year'];
    }
}