我真的很难过,我希望有人可以帮助我:我有一份预先生成的促销代码清单。每当用户在表单中输入他的电子邮件时,我想生成一个包含其中一个预定义代码的电子邮件 - 显然,每个代码只应发送一次。
我知道如何发送和生成电子邮件,如果我可以动态生成代码,我也会知道如何做到这一点。但我从来没有尝试过使用php一次一个接一个地“抓住”一个代码。
所以感谢任何帮助!
答案 0 :(得分:0)
使用名为“sent”的列和唯一ID(使用auto_increment)将所有代码插入数据库中。
然后使用
获取代码SELECT id,code FROM my_codes WHERE sent = 0 LIMIT 1;
发送您使用过代码的代码和保险箱:
UPDATE my_codes SET sent = 1 WHERE id = $the_id_from_the_selected_code;
如果您不想再次使用该代码,则可以在不使用已发送列的情况下删除代码。
DELETE FROM my_codes WHERE id = $the_id_from_the_selected_code;
要“动态”生成唯一代码,您可以使用uniqid(rand())
,它会根据微秒的时间返回一个uniq ID,以及一个随机前缀,用于完全生成2个邮件的情况同一时间。
答案 1 :(得分:0)
请尝试做类似的事情:
| id (INT (11)) | coupon_code (varchar(30)) | sent_status (INT (11)) | date |
=============================================== ==============================
SELECT * FROM coupon_code WHERE sent_status=0 ORDER BY RAND( ) // use this during sending email
$coupon_code = $row["coupon_code"];
UPDATE coupon_code SET sent_status='1' where coupon_code='$coupon_code'; // update coupon_code table once you get the code and after sending email to user.