Nasıl MySQL kayıtlardan bir otomatik e-posta gönderebilir miyim?

2 Cevap php

I am using a MySQL database and PHP.
My MySQL database contains the following records:

  Name  Address    Data    email             Date
  Joy   Fortblair  10     my@gmail.comm    1/22/2009
  Bob   Atlanta    15      bob@gmail.com    2/22/2009

Benim niyetim aşağıdaki koşullar ile PHP kullanarak e-posta göndermek için:

  • Veri 1 gün eskidir. (Current tarih - tarih = 1 day)

  • Bu bir anda tüm e-posta kayıtları gerekir.

Başlamak için en iyi yolu nedir?

2 Cevap

SQL sorgusu oldukça basittir ve aşağıdaki gibi gidiyor

SELECT *, TIMESTAMPDIFF(day, Date, NOW()) FROM `your_table_name` WHERE TIMESTAMPDIFF(day, Date, NOW()) = 1;

Şimdi sonucu içeriğini almak ve bir dize onları koymak zorunda

<?php
$sql = " SELECT *, TIMESTAMPDIFF(day, Date, NOW()) FROM `your_table_name` WHERE TIMESTAMPDIFF(day, Date, NOW()) = 1";
$query = mysql_query($query);
$emailBody = "";
while($row = mysql_fetch_assoc($query))
{
   $emailBody .= "Name: ".$row['Name']."; Address: ".$row['Address']."; Data: ".$row['Data']."; Email: ".$row['email']." \n";
}

mail("address@yourdomain.com", "Subject", $emailBody);
?>

Tadını çıkarın!

 SELECT email FROM Table WHERE DATEDIFF(CURRENT_DATE(), Date) >= 1

Eğer veritabanında bir e-posta gönderdik gerçeğini saklamak veya eşitlik karşılaştırması ile günde bir kez komut arayabilir (=) yerine daha büyük ya da eşit (> =) Ya: sadece bir kez gönderme gibi