| 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: 17 let
|
|||
0