PHP - Mantık ile Need Yardım

1 Cevap php

Şu anda bu sırayla, şunları yapar bir PHP / MySQL senaryo üzerinde çalışıyorum:

1) Checks DB for any videos that need converting 2) Once determined that a video needs to be converted, it begins to convert *3) Notifies the "creator" of video that it's been created. *4) Notifies all users who are "receivers" of the video, that they have a new video.

Ben yukarıda yıldız işaretli sayılar hakkında yardım arıyorum, unutmayın.

İşte benim temel db / tablo yapısını ben bunları yazmak istemiyorum çünkü bazı bölümleri bilerek, dışarı bıraktı (bulunuyor:

video_data:
  id
  creator_id
  needs_process  

video_info
  id
  video_id (relational to 'id' in table above).
  receiver_id

tblusers
  usrID
  usrFirst
  usrLast
  usrEmail

İşte şu anda benim Senaryoda ne var:

<?php
   require("connection.php");
   $rs = mysql_db_query($DBname,$sql,$link); 
   $data = mysql_query("SELECT * FROM video_data WHERE needs_process=1 LIMIT 1") or die(mysql_error());

 while($row = mysql_fetch_array( $data ))
   { 
$id = $row['id'];
$sender = $row['sender_id'];


        //Convert The Video Here (I've already written this code).


        //Maybe Create a Thumbnail Too (I've already written this code).

    }

Benim soru: Yukarıdaki kodu, nasıl ben de "yaratıcısı" (her zaman 1 kişi) e-posta ve alıcıları (bazen birden alıcılar) e-posta olacaktır. Ayrıca, bu muhtemelen "ayrı" veya "farklı" e-postaları olurdu. Alıcıları söyleyerek birini alacak Örneğin, yaratıcısı, "yükleme için teşekkürler!" Diyerek bir e-posta alacak "yeni bir video var."

Bu konuda herhangi bir yardım harika olurdu!

1 Cevap

Böyle bir şey var:

<?php
   require("connection.php");
   $rs = mysql_db_query($DBname,$sql,$link); 
   $data = mysql_query("SELECT * FROM video_data WHERE needs_process=1 LIMIT 1") or die(mysql_error());

 while($row = mysql_fetch_array( $data ))
   { 
$id = $row['id'];
$sender = $row['sender_id'];
        //Convert The Video Here (I've already written this code).
        //Maybe Create a Thumbnail Too (I've already written this code).

        //mail the creator

        $data2 = mysql_query("SELECT * FROM tblusers WHERE usrID=$row[creator_id] LIMIT 1") or die(mysql_error());

        $creatordata = mysql_fetch_array( $data2 );

        mailtocreator($creatordata['userEmail'], $creatordata['usrFirst'].' '.$creatordata['usrLast']);
        //mail the receiver
        $data3 = mysql_query("SELECT * FROM tblusers t, video_info vi WHERE vi.video_id = $row[id] AND vi.receiver_id = t.usrID") or die(mysql_error());
        while($row2 = mysql_fetch_array($data3))
        {
    			mailtocreator($row2['userEmail'], $row2['usrFirst'].' '.$row2['usrLast'], $creatordata['usrFirst'].' '.$creatordata['usrLast']);
    	  }

    }


function mailtocreator($toemail, $toname)
{
    //do send mail routine
    $subject = 'video processed';
    $message = 'hello '.$toname.',

Thank you for uploading video.';
    $headers = 'From: webmaster@example.com' . "\r\n" .
    	 'Reply-To: webmaster@example.com' . "\r\n" .
    	 'X-Mailer: PHP/' . phpversion();
    mail($toemail, $subject, $message, $headers);
}

function mailtoreceiver($toemail, $toname, $fromname)
{
    //do send mail routine
    $subject = 'new video received';
    $message = 'hello '.$toname.',

You just got new video from '.$fromname.'.';
    $headers = 'From: webmaster@example.com' . "\r\n" .
    	 'Reply-To: webmaster@example.com' . "\r\n" .
    	 'X-Mailer: PHP/' . phpversion();
    mail($toemail, $subject, $message, $headers);
}

Temelde, sadece bu sorgu etrafında bulunuyor:

$data2 = mysql_query("SELECT * FROM tblusers WHERE usrID=$row[creator_id] LIMIT 1") or die(mysql_error());

($ row [creator_id] alınmıştır) güncel aktarıcı detay bilgi almak ve hangi

$data3 = mysql_query("SELECT * FROM tblusers t, video_info vi WHERE vi.video_id = $row[id] AND vi.receiver_id = t.usrID") or die(mysql_error());

masa tblUsers ve video_info gelen sorgulayarak bütün alıcısını almak hangi sonra sırasıyla mailtocreator ve mailtoreceiver için bu bilgi göndermek.