【发布时间】:2016-08-13 14:42:38
【问题描述】:
我有一个 MySQL 数据库,它有一个表,其中包含所有用户(姓名、电子邮件地址、密码和其他一些列,例如“last_login”。然后,每个用户都有一个表,名称为“LastnameFirstname” ”。“姓氏名字”表包括多个电子邮件地址和与电子邮件地址对应的消息正文。
我想要的是向“姓氏名字”表中的收件人发送电子邮件。
以下是一些适用于我的代码,但仅适用于一个名为“LastnameFirstname”的表。我可以发送带有相应正文文本的消息就好了。
“LastnameFirstname”表中的电子邮件应在满足特定条件时发送,例如“isActivated”或自上次登录后超过 7 天。那么,如何访问多个“LastnameFirstname”表并将消息发送到相应的电子邮件地址。
我希望我的观点很清楚。请告诉我是否应该改进这个问题...google-fu 无济于事。我读了一些关于 join 和 implode 的内容,但没有多大帮助。最后,我想要一个可以在服务器端作为 cronjob 运行的脚本......
到目前为止,这是我的代码:
<?php
mysql_connect("localhost", "root", "") or
die("No connection possible: " . mysql_error());
mysql_select_db("test");
//$result = mysql_query("SELECT emailadresse, message FROM StrohmeierStefan, table_LastnameFirstname");
$result = mysql_query("SELECT emailadresse, message FROM table_LastnameFirstname");
$headers = "From: test@test.de";
$subject = "Message Subject";
//$text = "Hallo Welt! Did it work?";
while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
printf ("eMail: %s", $row[0]);
printf("<br/>");
$to = $row[0];
$text = $row[1];
mail($to, $subject, $text, $headers);
}
mysql_free_result($result);
?>
【问题讨论】:
-
您应该对查询使用内连接并查阅 lastlogin 并进行比较
-
那是一个名字很糟糕的表
-
为什么这是一种不好的方法来标记表格?你能帮我吗?有什么更好的方法?