• 20-02-2010, 09:03:36
    #1
    Arkadaşlar veritabanımda "son_tar" ve "send_mail" adlı iki alan var. Son_tar datetime olarak kayıtlı ve ilanın bitiş zamanını belirtiyor.
    Ben sorgumda ilan süresi dolmuş ve send_mail=0 olan olan kayıtları getirerek bu kullanıcılara mail atmak isyiorum ancak sorguda hata yapıyorum yardımcı olursanız sevinirm. Kullandığım sorgu aşağıda.

    $sorgu=mysql_query("SELECT * FROM ilanlar where son_tar < SYSDATE()  and send_mail='0'" );
    Açıkcası burada sysdate() mi kullanılacak emin değilim.
  • 20-02-2010, 09:18:54
    #2
    Üyeliği durduruldu
    now();
    CURRENT_DATE
    CURRENT_TIMESTAMP
  • 20-02-2010, 16:47:18
    #3
    Hocam sorguyu aşağıaki gibi değiştirdim ama bu şekilde sayfa her çalıştığında sadece bir kullanıcıya mail gidiyor. Ayrıca şöyle bir hata mesajı çıkıyor ekranda.

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/*****/public_html/deneme/pasifmail.php on line 5

    <?php
    include "header.php";
    
    $sorgu=mysql_query("SELECT * FROM ilanlar where son_tar < current_date() and send_mail='0'" );
    while ($veri=mysql_fetch_array($sorgu)){
    $email=$veri['email'];
    $id=$veri['ilan_id'];
    
    if($email!=""){
    $headers = 'Content-type: text/html; charset=UTF-8' . "\r\n";
    $headers .= 'From: <bilgi@deneme.net>' . "\r\n";
    $to = $email;
    $subject = "İlanınızın süresi doldu.";
    $message = "İlanınızın süresi doldu, aşağıdaki linke tıklayarak ilanınızı yenileyebilirsiniz.\r\n
    http://*******.net/ilan.php?i=".$id;
    
    mail($to,$subject,$message,$headers);
    
    $sorgu=mysql_query("UPDATE ilanlar set send_mail='1' where ilan_id='$id'"); 
    }
    }
    
    
    
    ?>
  • 22-02-2010, 08:09:07
    #4
    Üyeliği durduruldu
    current_date fonkisyon değil sabittir current_date() değil current_date yazmalısınız