根据类别向DB中的所有电子邮件发送电子邮件链接

时间:2012-01-28 00:56:20

标签: php mysql

我有一个网站,用户可以通过电子邮件表单发布qn作业请求/添加。此数据也存储在表jobadd下的DB中,该表具有名为Kategori的列。在这个kategori我有一行名为“bygg”的作业请求/添加发布在。我还有一个名为“Länk”的栏目(我的语言为“链接”),此列将有一个指向作业请求/添加的链接,因此当用户在电子邮件中获取此链接时,他们可以单击它以查看发布在线。

我还有第二页,公司可以注册并选择适合他们的类别。在这种情况下,类别将为“Bygg&Anläggning”,因此该数据也存储在USERS下的数据库中。在此表中,我有一个名为Kategori的列和“Bygg&Anläggnig”行,此行将描述该公司注册的类别。此表中我还有email列,其中公司的电子邮件地址已存储。

代码的工作方式如下:运行此脚本时,如果jobadd->Kategori->Bygg中的某一天与该链接不同,则会发送一个链接(最新的)。致USERS->Kategori->Bygg & Anläggning->email

中的所有电子邮件

所以这很好用(希望我的描述不难理解):
但是,我希望这段代码能够发送所有链接,如果不是那么一天。

我试图移动并更改代码,我得到的最接近的是:Bygg类别中的4个链接和电子邮件列中的4个电子邮件,导致一封电子邮件包含一个链接,第二封电子邮件包含两个链接,第三封电子邮件有三个链接,第四封电子邮件有四个链接。我希望所有四封电子邮件都能收到所有四个链接。 如果有一天只有较旧的链接,我不希望脚本发送任何电子邮件。

就像现在一样,即使脚本有一天找不到不老的链接,它也会向USERS表下的列电子邮件中的所有电子邮件发送一封空电子邮件。

//CONNECT TO MYSQL
$link=mysql_connect($mysqladd, $mysqluser, $mysqlpass, true) or die('Could not connect to database: ' . mysql_error());

//CONNECT TO DATABASE
mysql_select_db($databasename, $link) or die('Could not connect to table: ' . mysql_error());

$query="SELECT *, DATE_FORMAT(Time_of_Submission, '%Y/%m/%d') FROM jobadd  WHERE Kategori='bygg' AND Time_of_Submission BETWEEN SYSDATE() - INTERVAL 1 DAY AND SYSDATE() ORDER BY ID DESC"; 
$query2="SELECT * FROM USERS WHERE Kategori='Bygg & Anläggning'";

$result=mysql_query($query); 
$result2=mysql_query($query2);
$mailmessage = mysql_fetch_array($result);  
$num=mysql_numrows($result); 
$num=mysql_numrows($result2);

if (!mysql_query($query,$link)) 
{ 
    die('Error: ' . mysql_error()); 
} 

mysql_close($link);

$message .= $mailmessage['Länk']."\n";

$i=0; 
while ($i < $num) {
    $email=mysql_result($result2,$i,"email");
    $fromemail = "no_reply@jobler.se"; 
    $subject = "Det har kommit in en ny Tjänstförfrågan på Jobler.se som passar er profil (klicka på länken nedan)"; 
    mail($email, $subject, $message, "From: $fromemail"); 
    echo "Förfrågan skickad till följande E-post adresser:";
    echo "<b><br>$email</b><hr><br>";
    echo "<b><br>$message</b><hr><br>";
    $i++; 
}

1 个答案:

答案 0 :(得分:0)

我在链接列中有一个默认值,并在循环中使用if语句。

if $message=='default text in column'
{
echo "No link";
}