Autor Zpráva
davef6
Profil
Zdravím,

chtěl bych udělat upozornění nepřečtených vzkazů na email. Mám tabulky :

uzivatele, kde je email
vzkazy, kde je uložen text, datum poslání, kdo poslal (id od uzivatele), komu poslal (id od uzivatele)
nastaveni_uziv, kde je uložen sloupec send_mess, který říká jak často se email bude posílat. 1x týdně, denně atd.

Z tohoto bych potřeboval sestavit dotaz aby se každému uživateli, který má nastavené posílání poslal email s nepřečtenými vzkazy.
V emailu bude nějaký text který bude napevno a pak z db vypsáno jméno kdo vzkaz poslal, vzkaz, čas odeslání.

Zkoušel jsem to udělat, ale nevím jak to udělat aby se více vzkazů poslalo v jednom emailu. Tady je řešení, kde se ale nevypisuje od koho vzkaz je (netušim jak to udělat) a pošle se jenom poslední vzkaz

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 group by u.email


Všechny tabulky jsou propojené id uživatele.

Snad můj příspěvek pochopíte a někdo mi dokáže poradit.
Kajman_
Profil *
Nedávejte group by, ale order by. Pak stačí v tom cyklu jen kontrolovat, zda se jedná o stejný mail (přidat do chystaného textu) nebo jiný email (odeslat nachystaný a začít chystat další).
davef6
Profil
Tak mám toto, ale nějak bych potřeboval navést jak přidat jednotlivé vzkazy k emailu

$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
téma se již řeší v sekci PHP, tady už nemá co dělat :)
Toto téma je uzamčeno. Odpověď nelze zaslat.