Autor | Zpráva | ||
---|---|---|---|
davef6 Profil |
#1 · Zasláno: 4. 6. 2009, 10:10:07
Potřeboval bych odeslat email s několika vzkazy na určenou adresu vybranou z databáze. Ale netušim jak narvu více vzkazů spolu s datumem poslání (time_send) do jednoho emailu a odešlu, pak následuje zpracování vzkazů pro další ho uživatele atd. Prostě když se změní při výpisu z databáze email, tak aby se předchozí odeslal a naplnil se další nepřečtenými vzkazy (text) a pak se také odeslal. Díky za rady
$prikaz = MySQL_Query("SELECT u.email, v.time_send, v.text, v.id_uziv_kdo from uzivatele u join nastaveni_uziv n on u.id = n.id_uziv join vzkazy v on n.id_uziv = v.id_uziv_komu where n.send_mess=1 and v.precteno=0 order by u.email, v.time_send desc"); $num = mysql_num_rows($prikaz); $cislo = 1; if($num > 0) { $vzkaz = "Neprecteny vzkaz z test.cz\n\n"; $vzkaz3 = "Vzkaz byl automaticky zaslan z Vaseho vzkazniku na http://www.mp3stahuj.cz pro pripadnou odpoved na vzkaz se prihlaste do vzkazniku. \n Zmenit frekvenci zasilani neprectenych vzkazu, pripadne zrusit zasilani muzete provest ve Vasem vzkazniku."; while($zaz = mysql_fetch_assoc($prikaz)) { $email = $zaz['email']; $predmet = "Neprecteny vzkaz z test.cz"; $cas_poslani = $zaz['time_send']; $upr_cas = StrFTime("%d.%m. %H:%M", $cas_poslani); $text = $zaz['text']; if ($cislo == 1) {$email2 == $email;} $text = iso2ascii($text); $vzkaz2 = "Datum: $upr_cas\n Vzkaz: $text \n\n"; if ($email2 !== $email) { $email2 = $email; $vzkaz_s = $vzkaz.$vzkaz2.$vzkaz3; if(mail($email2, $predmet, $vzkaz_s, "From: vzkaznik@test.cz")) echo "Odesláno"; } } } |
||
AM_ Profil |
#2 · Zasláno: 4. 6. 2009, 11:09:25
$prikaz = MySQL_Query("SELECT u.email, v.time_send, v.text, v.id_uziv_kdo from uzivatele u join nastaveni_uziv n on u.id = n.id_uziv join vzkazy v on n.id_uziv = v.id_uziv_komu where n.send_mess=1 and v.precteno=0 order by u.email, v.time_send desc"); $num = mysql_num_rows($prikaz); $cislo = 1; if($num > 0) { $vzkaz = "Neprecteny vzkaz z test.cz\n\n"; $vzkaz3 = "Vzkaz byl automaticky zaslan z Vaseho vzkazniku na http://www.mp3stahuj.cz pro pripadnou odpoved na vzkaz se prihlaste do vzkazniku. \n Zmenit frekvenci zasilani neprectenych vzkazu, pripadne zrusit zasilani muzete provest ve Vasem vzkazniku."; $predmet = "Neprecteny vzkaz z test.cz"; //tohle nema co delat ve while $vzkaz2 = ''; //nastavime pocatecni hodnotu $email2 = false; //dulezite, jinak budes dostavat notice o nedefinovane promenne while($zaz = mysql_fetch_assoc($prikaz)) { $email = $zaz['email']; if ($email2 !== $email) //to musi byt tady, protoze si predstav souslednost: //1. projdeme nekolikrat smyckou a nacteme nekolik vzkazu pro jednoho uzivatele //2. pri dalsim pruchodu narazime na jineho uzivatele: // 2.1 odesleme pripravenou zpravu pro nacteneho uzivatele // 2.2 az ted se zabyvame zpravou pro dalsiho uzivatele { $email2 = $email; $vzkaz_s = $vzkaz.$vzkaz2.$vzkaz3; if(mail($email2, $predmet, $vzkaz_s, "From: vzkaznik@test.cz")) { echo "Odesláno"; } else { echo "neodesláno"; } //docela podstatna informace, jeste tam muzes pridat na ktery mail se to nepovedlo $vzkaz2 = ''; //vynulujeme pro dalsiho uzivatele } $cas_poslani = $zaz['time_send']; $upr_cas = StrFTime("%d.%m. %H:%M", $cas_poslani); $text = $zaz['text']; if ($cislo == 1) {$email2 == $email;} $text = iso2ascii($text); $vzkaz2.= "Datum: $upr_cas\n Vzkaz: $text \n\n"; //vzkaz neprepiseme, ale pridame } } Netestoval jsem to, možná jsou tam i tak chyby, ale aspoň tě to snad nakopne kudy dál ;) |
||
fajzen Profil |
#3 · Zasláno: 4. 6. 2009, 11:10:14
$prikaz = MySQL_Query("SELECT u.email, v.time_send, v.text, v.id_uziv_kdo from uzivatele u join nastaveni_uziv n on u.id = n.id_uziv join vzkazy v on n.id_uziv = v.id_uziv_komu where n.send_mess=1 and v.precteno=0 order by u.email, v.time_send desc"); $num = mysql_num_rows($prikaz); $email_pred= ''; $vzkaz_spol= ''; if($num > 0) { $vzkaz1 = "Neprecteny vzkaz z test.cz\n\n"; $vzkaz2 = "Vzkaz byl automaticky zaslan z Vaseho vzkazniku na http://www.mp3stahuj.cz pro pripadnou odpoved na vzkaz se prihlaste do vzkazniku. \n Zmenit frekvenci zasilani neprectenych vzkazu, pripadne zrusit zasilani muzete provest ve Vasem vzkazniku."; $predmet = "Neprecteny vzkaz z test.cz"; while($zaz = mysql_fetch_assoc($prikaz)) { $email = $zaz['email']; if(empty($email_pred)) { $email_pred= $email; } $cas_poslani = $zaz['time_send']; $upr_cas = StrFTime("%d.%m. %H:%M", $cas_poslani); $text = $zaz['text']; $text = iso2ascii($text); $vzkaz = "Datum: $upr_cas\n Vzkaz: $text \n\n"; if ($email_pred !== $email) { $email_pred = $email; $vzkaz_s = $vzkaz1.$vzkaz_s.$vzkaz2; if(mail($email, $predmet, $vzkaz_s, "From: vzkaznik@test.cz")) echo "Odesláno"; $vzkaz_s= $vzkaz; } else { $vzkaz_s.= $vzkaz; } } } |
||
fajzen Profil |
#4 · Zasláno: 4. 6. 2009, 11:10:59
neskoro :)
|
||
davef6 Profil |
#5 · Zasláno: 4. 6. 2009, 13:40:36
děkuju, vyzkouším
|
||
davef6 Profil |
#6 · Zasláno: 4. 6. 2009, 18:14:28
AM_
email se odešle, ale bez obsahu který je uložen v $vzkaz2 fajzen toto mi nejde vůbec |
||
davef6 Profil |
#7 · Zasláno: 4. 6. 2009, 19:09:32
vyřešeno
|
||
Časová prodleva: 15 let
|
0