• 21-03-2015, 22:48:20
    #1
    Üyeliği durduruldu
    Merhaba arkadaşlar aşağıdaki kod ile müşterilerime fatura gönderiyorum ancak tek tek tıklayarak gönderiyorum bunu hepsine nasıl gönderebilirim yani tek link e tıklayarak tüm üyelerime mail ile faturasını göndermek istiyorum.

    <?
    include("baglanti.php");
    
    $faturano=$_GET['faturano'];
    $hizmet=$db->get_row("SELECT * FROM faturalar WHERE faturano='$faturano'");
    $hizmetno=$hizmet->hizmetno;
    $donem=$hizmet->donem;
    $geneltoplam=$hizmet->geneltoplam;
    $kim=$db->get_row("SELECT * FROM hesaplar WHERE musterino='$hizmet->musterino'");
    
    function tarihDonustur($data) {
        $tarihteki_ayirac = "-";
        $ayir = explode($tarihteki_ayirac,$data);
        $sonuc= $ayir[2]."-".$ayir[1]."-".$ayir[0]."";
        return $sonuc;
    }
    
    $starih = tarihDonustur($hizmet->sonodeme);
    
    if(empty($kim->firmaadi))
    {$kimbu= $kim->adsoyad;
    } else {
     $kimbu= $kim->firmaadi; 
     }
    $eposta=$kim->eposta;
    
    $url = "goster.php?faturano=$faturano";
    $binary_content = file_get_contents($url);
    
    require 'mail/PHPMailerAutoload.php';
    $mail = new PHPMailer();
    $mail->isSMTP();
    $mail->SMTPDebug = 0;
    $mail->CharSet = 'utf-8';
    $mail->Debugoutput = 'html';
    $mail->Port = 587;
    $mail->SMTPSecure = "tls"; 
    $mail->SMTPAuth = true;
    
    $mail->Subject = "$hizmetno Hizmet Nolu $donem Faturanız.";
    $mail->AddBCC("$eposta");
    $mail->IsHTML(true);
    $mail->AddStringAttachment($binary_content, "fatura.pdf", $encoding = 'base64', $type = 'application/pdf');
    
    //send the message, check for errors
    $mail->send();
    
    header("Refresh: 0; url=faturalar.php");
    ?>
  • 21-03-2015, 23:03:28
    #2
    $hizmet=$db->get_row("SELECT * FROM faturalar WHERE faturano='$faturano'");

    burada sadece belirtilen faturano'ya ait verileri çekiyorsunuz.
    Veritabanından bir kriter belirleyerek onları çekebilirsiniz ya da bu sayfaya array içersinde birden fazla faturano yollayıp for döngüsü ile tekrarlatabilirsiniz.
  • 21-03-2015, 23:29:20
    #3
    Üyeliği durduruldu
    aslında şunu yapmak istiyorum durumu ='0' olanlara göndermek istiyorum while ile nasıl yaparım

    pSkpt adlı üyeden alıntı: mesajı görüntüle
    $hizmet=$db->get_row("SELECT * FROM faturalar WHERE faturano='$faturano'");

    burada sadece belirtilen faturano'ya ait verileri çekiyorsunuz.
    Veritabanından bir kriter belirleyerek onları çekebilirsiniz ya da bu sayfaya array içersinde birden fazla faturano yollayıp for döngüsü ile tekrarlatabilirsiniz.
  • 21-03-2015, 23:31:35
    #4
    bilgileri foreach döngüsüne alıp herkese gönderebilirsiniz.
  • 21-03-2015, 23:47:03
    #5
    $hizmet=$db->get_row("SELECT * FROM faturalar WHERE durum = 0");

    şeklinde çağırabilirsiniz ama while içerisinde nasıl kullanacakasınız onun için şuan yorum yapmam kullandığınız $db->get_row fonksiyonuna bakmak gerekiyor.