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

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


Скрипт рассылки без регистрации.

#1 gaaarfild

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

Отправлено 14 Май 2009 - 00:43

Добрый день. Мне ненужен код. Мне хотелось бы услышать совет, как организовать концепцию подписки на рассылку. Тоесть например есть модуль новостей. В модуле несколько категорий. Например "Новости моды", "Новости старины" и "Разное".
Есть отдельный модуль подписки на рассылку. Там все категории рассортированы и напротив каждой стоит Checkbox. Гость отмечает новости и пишет свой емайл.
Так вот собственно вопрос. Как заносить данные в базу. Тоесть каким образом организовать запись базы емейлов с соответствующими им категориями.
Например, если у меня будет поле в таблице 'email' и поле 'categories'. то мне заносить категории как массив через запятую? Или для каждой рубрики сделать делать отдельную запись с повторением email. Не знаю как поступить.Желательно все это поместить в одну, максимум две таблички. По возможности конечно.
Заранее спасибо.

 

 

  • 0

#2 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 14 Май 2009 - 18:38

Думаю лучше сделать перечисление через запятую id категорий. Строку разобрать через запятую очень легко. explode().
Вот только не знаю, если ID категории изменится, что предпринять для смены id в базе.
  • 0

#3 gaaarfild

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

Отправлено 15 Май 2009 - 00:56

А каким тогда образом обычно осуществляется такой тип подписки?
  • 0

#4 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 15 Май 2009 - 21:55

Распишу подробнее.
Когда пользователь подписывается, перед ним есть список категорий подписки. Он к примеру галочками выбирает нужные пункты, затем пишет свой email. При отправке проверяешь, не было ли в базе ещё такого email и вставляешь, если есть, то можно спросить о замене...
Далее когда создаётся подписка, предлагаю организовать её простым способом, тебе нужно Выбирать строчки email с одинаковым списком категорий и формировать контент. Заносить уже обработанный список в какой-то массив для дальнейшей проверки. Далее формируем контент данной группе email'ов ти отсылаем с помощью какого-либо скрипта отправки почты. Не забываем в конце письма указать ссылку на отказ от подписки.

Всё, так пройдёмся по всей базе и всем разошлём всё что нужно. Как удобно отбирать одинаковые? Я думаю лучше воспользоваться ORDER BY и NOT IN.
  • 0

#5 gaaarfild

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

Отправлено 15 Май 2009 - 22:24

Тоесть все таки категории будут в массив через разделители? Просто рассылка будет не регулярная. Если в категорию добавили новость, то она отправляется всем, кто выбрал эту категорию в подписке. Это как организовать-то в итоге?
  • 0

#6 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 15 Май 2009 - 22:35

Аа ты даже так хочешь? Ну тогда это проще будет сделать.
Делаем в таблице рассылки поле типа VARCHAR. В котором будут храниться id категорий через запятую без пробелов.
При подписке мы просто делаем implode массива выбранных checkbox'ов. и заносим в строку
$categoryes = implode("," , $_POST['myCheck']);
Заносим эту строку.

А при рассылке скрипт этой самой рассылки должен пройтись по базе подписчиков и отобрать только те записи, которые удовлетворяют условию вхождения строки.
SELECT * FROM table WHERE pole LIKE '%,{$id_category},%'

$id_category - переменная с id категории из которой наша новость :P
  • 0

#7 gaaarfild

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

Отправлено 16 Май 2009 - 18:05

Хммм... =) Логично! =)) Вообще хороший вариант! =) Только вот возможны ошибки. Например категория номер 15 есть у человека. А мы ищем категории под номером 5. Он же возьмет и этого человека.
  • 0

#8 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 17 Май 2009 - 12:07

Нет. Я же не зря указал запятые БЕЗ ПРОБЕЛОВ.
Ты думаешь разницы между LIKE '%,15,%' и LIKE '%,5,%' нету?
  • 0

#9 gaaarfild

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

Отправлено 17 Май 2009 - 22:09

ОЙ! =) Я запятые не заметил! =) Действительно! =)
  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


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