|
|
|
| Здравствуйте подскажите как можно реализовать следущее:
есть форма, при нажатии на кнопку срабатывает функция mail() и письмо уходит адресату.
Но проблема вся в том что имееться 3 email-а и нужно сделать так, что бы:
1-ый полученный результат отправлялся на 1-ый email,
2-ой результат отправлялся на 2-ой email,
3-ий на 3-ий,
4-ый на 1-ый,
5-ый на 2-ой
и так далее ... | |
|
|
|
|
|
|
|
для: Saveliy
(09.04.2008 в 23:58)
| | а что за "1-ый полученный результат", 2-й и т.д.??
может как то так
$emails = array(0 => 'eml1@eml.ru', 1 => 'eml2@eml.ru', 2 => 'eml3@eml.ru')
$i = 0;
while($result) {
$current_email = $emails[$i++%3];
//тут отправляем или делаем еще что то
}
|
| |
|
|
|
|
|
|
|
для: mechanic
(10.04.2008 в 09:15)
| | Под результатом понимаеться, заполненное письмо в момент нажатия кнопки отправить.
Тут вся суть такая, есть сайт, а на нем форма для отправки заказа, когда пользователь заполняет форму и нажимает кнопку отправить, то полученные данные превращаються в результат, который отправляеться по почте на 1-ый email
Затем через "часок" заходит другой пользователь и тоже заполняет форму, нажимает на кнопку отправить, и полученный результат отправляеться уже на 2-ой email.
Потом на 3-ий email.
Затем сново отправляеться на 1-ый email.
Тоесть, для обработки заказов имееться 3 человека. и чтоб не нагружать их сильно, то необх. что б письма им приходили поочередно )) | |
|
|
|
|
|
|
|
для: Saveliy
(10.04.2008 в 09:49)
| | тю.. как все просто )
допустим если список емайлов хранится в базе, то надо бы там добавить поле например orders_num, которое при отправке заказа на этот емайл будет инкрементироваться (+1)
далее логика:
пользователь заходит чтоб оформить заказ, в момент генерации страницы с формой, в hidden-поле выбирается id емайла по принципу
select id from emails order by orders_num asc limit 1
|
т.е. выбираем тот, на который еще было мало заказов
когда форма сабмитится, поле orders_num для данного емайла инкрементируется и при следующей выборке будет получен уже другой id | |
|
|
|
|
|
|
|
для: mechanic
(10.04.2008 в 10:05)
| | Прикольное решение ))) Спасибо огромное )
Скажите а возможно ли все сделать тоже самое , без использования БД ? | |
|
|
|
|
|
|
|
для: Saveliy
(10.04.2008 в 10:25)
| | я предвидел этот вопрос..
можно конечно, файл вида
eml1@eml.ru:20
eml2@eml.ru:26
eml3@eml.ru:22
|
считывать каждый раз в массив и выбирать емайл с наименьшим числом, а при формировании заказа придется как то это число аккуратно обновлять.. ох не люблю я эти пляски с обновлением файлов
лично я бы сделал просто файл с емайлами и выбирал случайный емайл из всех имеющихся..
не думаю что функция rand() обделит кого то заказами, а кого-то наоборот завалит )
т.е. в данном случае получится не совсем четкое распределение, но может оно и не нужно прям такое четкое.. в пределах 100 заказов все должно получиться более-менее ровно распределено | |
|
|
|
|
|
|
|
для: mechanic
(10.04.2008 в 10:29)
| | Спасибо еще разок Вам огромное )) буду ченить мудрить :) | |
|
|
|