【问题标题】:Send email links to all emails in DB based on catgory根据类别将电子邮件链接发送到数据库中的所有电子邮件
【发布时间】:2012-01-28 09:17:57
【问题描述】:

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

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

代码的工作方式如下:运行此脚本时,如果当天不早于jobadd->Kategori->Bygg 和链接,它将发送一个链接(最新的)。致USERS->Kategori->Bygg & Anläggning->email中的所有电子邮件。

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

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

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

//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++; 
}

【问题讨论】:

    标签: php mysql


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2017-09-19
      • 2011-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多