Перейти к содержимому

Реферальная программа Мегаплана

Выбрать шаблон и создать сайт

Проверка совпадений

#1 alex159

alex159
  • Пользователь
  • 492 сообщений
  • Репутация: 32
0

Отправлено 24 Октябрь 2013 - 13:38

Есть магазин на opencart. Хочу из всех заказов и зарегестрированных людей вывести все email-лы.
Но очень много дубликатов.
Как правильно сделать? Алгоритм придумал (а вот знаний не хватает)

Мое виденье
1.Вывод всех email (с бд) через do-while в массив
2. Через специальную функцию удалить дубликаты в массиве
3. Занести все email в другую базу данных.

Подскажите, пожалуйста, основные функции для этого алгоритма.

 

 

  • 0

#2 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 24 Октябрь 2013 - 14:41

Можно сделать и так, выбрать абсолютно все email'ы в массив, а затем удалить дубликаты функцией array_unique().
А можно сделать и проще, сразу выбрав email'ы без дубликатов... для этого можно воспользоваться оператором DISTINCT в запросе, который не будет выбирать дублирующие записи:
SELECT DISTINCT email FROM table;

  • 1


#3 alex159

alex159
    Topic Starter
  • Пользователь
  • 492 сообщений
  • Репутация: 32

Отправлено 24 Октябрь 2013 - 18:32

matroskin8, Спасибо. Тема закрыта. Кому интересно решение вот код
Это решение сделано для Opencart, если вам нужно достать все email с вашей базы данных.
<?php
$BD_host = "myhost";
$BD_user = "user";
$BD_password = "pass";
$BD_base = "base";
$link = mysql_connect($BD_host,$BD_user,$BD_password);
mysql_select_db($BD_base);
mysql_query("SET NAMES 'utf8'");
$result = mysql_query("(SELECT DISTINCT `email` FROM `order`) UNION (SELECT DISTINCT `email` FROM `customer`)"); //Вытаскиеваем данные с 2-х таблиц
$myrow = mysql_fetch_array($result);
do{ //Делаем
echo $myrow['email'];
echo "<br>";
}
while ($myrow = mysql_fetch_array($result));//Думаем
?>

  • 0

#4 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 24 Октябрь 2013 - 21:42

Пожалуйста.
  • 0


#5 fedornabilkin

fedornabilkin
  • Пользователь
  • 696 сообщений
  • Репутация: 91

Отправлено 25 Октябрь 2013 - 14:32

Еще вариант. Выбрать все записи из базы в массив и применить array_unique() http://www.php.su/array_unique
  • 0
Как часто в горестной разлуке,В моей блуждающей судьбе, ФО, я думал о тебе.



Оформление форума – IPBSkins.ru