2016-11-15 2 views
0

У меня в настоящее время есть цикл, который я пытаюсь использовать для эхо-адресов электронной почты в зависимости от того, нет ли профиля pic в каталоге/pics. Как удалить дубликаты, чтобы он отображал только один раз?Duplicates Records in Loop

<?php 

while ($row_Recordset9 = mysql_fetch_assoc($Recordset9)) { 
    $ID = $row_Recordset9['ID']; 
    $image = '../pics/' . $ID . '.jpg'; 
    if (!file_exists($image)) { 
     echo $row_Recordset9['Email'].', ';   
    } 
} 
?> 
+1

Вместо вторя электронной почты, поместить его на массив. Используйте 'array_unique()' для удаления дубликатов из массива, а затем эхо их. – Barmar

+1

@mistermartin Но запрос не может определить, существует ли файл. – Barmar

+0

Barmer-Я пробовал в массиве без успеха. Martin-I сначала попробовал DISTINCT, но потому, что я отправляю по электронной почте своего менеджера, каждый идентификатор принадлежит сотруднику и будет отображаться в каждой строке. Любая помощь в настройке массива была бы полезна. – user3258571

ответ

2

Поместите электронную почту в массиве, а затем использовать array_unique() для удаления дубликатов.

$emails = array(); 
while ($row_Recordset9 = mysql_fetch_assoc($Recordset9)) { 
    $ID = $row_Recordset9['ID']; 
    $image = '../pics/' . $ID . '.jpg'; 
    if (!file_exists($image)) { 
     $emails[] = $row_Recordset9['Email'];  
    } 
} 
$addresses = implode(',', array_unique($emails)); 
echo $addresses; 
+0

Barmar - Ваше решение также сработало. Я ценю решение. Сначала я попытался использовать array_unique без успеха. Это прекрасно работает. – user3258571

+0

Позвольте мне угадать, вы забыли присвоить результат переменной 'array_unique' переменной. Он не изменяет массив, который он задает, поэтому вам нужно использовать результат. – Barmar

+0

Да. Я бы закончил эхом пробел. Еще раз спасибо. – user3258571

1

Вы можете сохранять результаты во временный массив и проверить на что:

$temp = array(); 
while ($row_Recordset9 = mysql_fetch_assoc($Recordset9)) { 
    $ID = $row_Recordset9['ID']; 
    $image = '../pics/' . $ID . '.jpg'; 
    $email = $row_Recordset9['Email']; 
    if (!file_exists($image) && !in_array($email, $temp)) { 
     $temp[] = $email; 
     echo $email.', '; 
    } 
} 
+0

Мистер Мартин. Ваше решение работало как шарм. Большое спасибо. – user3258571