2012-04-22 194 views
1

我有一個分類廣告網站,我正在製作一個廣告系列,當廣告張貼在類別和訂閱的城市時,我的用戶就會郵寄。現在,我有一個問題。我已經將這個文件設置爲每天使用cronjob運行一次。在一天中,我的網站每天發佈50個廣告,因此用戶每天可以收到50封電子郵件。我希望將所有50封電子郵件都包含在一個電子郵件中,因此用戶將收到1封電子郵件,但我不知道該怎麼做。例如:每封電子郵件有一個鏈接,50封電子郵件有50個鏈接。我希望用戶只能收到一封電子郵件,其中包含所有50個鏈接。 我嘗試了很多方法,但我做不到。 歡迎任何建議。在一個電子郵件中包含一些電子郵件

感謝

回答

0

簡單地聚集在一個陣列,在那裏你設置的郵箱作爲陣列的關鍵廣告信息。

$recipients = array(); 
while ($row = mysql_fetch_assoc($result)) { 
    $email = $row["email"]; 
    if (!array_key_exists($email, $recipients)) { 
    $recipients[$email] = array(); 
    } 
    $recipients[$email][] = $row; 
} 

在此之後,你有一個數組,每個電子郵件有一個可變數量的$行條目。您只需要使用foreach循環將這些條目添加到您的郵件模板。

0

此代碼是太糟糕了去改變它,它更simplier寫新的。我可以建議你創建數組,並將電子郵件信息發送給它,而不是立即發送。如果數組已經包含具有相同電子郵件的項目,請不要添加新電子郵件,而是將信息添加到現有電子郵件。獲取所有電子郵件後,迭代新數組併發送電子郵件。

0

由於您已經爲腳本運行了cronjob,只需設置適當的時間(清晨或夜晚)並查詢您存儲分類中帖子的數據庫,選擇最近發佈的50個帖子,將它們添加到電子郵件並將它們發送給註冊的用戶以接收最新的發佈郵件。似乎很直截了當,除非我誤解了某些東西。

另外,我很好奇爲什麼(在你的腳本中)你在每一小段代碼之後跳入和跳出PHP。這非常令人分心,坦率地說,我甚至不想閱讀代碼。上面顯示的東西沒有任何理由可以離開PHP--除非這些都是你們在一起顯示的小片段。如果是這樣,請忽略我的投訴。

<?php } ?> 
<?php } ?> 
<?php } ?> 
<?php } ?> 
<?php } ?> 
<?php } ?> 

/scratcheshead

相關問題