Autor Zpráva
Stepanka
Profil *
Ahoj,

prosím poradil by mi někdo? Pro některé to bude úplná hračka..

Vytvořila jsem si toto pole:

DOTAZ NA DB
$emaily = array();
while ($row_zakaznici = mysql_fetch_array ($query_zakaznici)) {
		$emaily[$row_zakaznici['id']][$row_zakaznici['email']][$row_zakaznic i['uz_jm']]=1; 	
}


Ale nevím jak teď k němu přistupovat přes foreach.
Nevěděl by, prosím, někdo jak přes foreach vypsat ke každému uživateli ID, email i uz_jm?

Děkuju
nightfish
Profil
podle mě je tento způsob dosti hloupý... změnil bych to přiřazení v cyklu na
$emaily[$row_zakaznici['id']] = array("email" => $row_zakaznici['email'], "uz_jm" => $row_zakaznici['uz_jm']);


a pak vypisoval
foreach ($emaily as $k => $v) {
  echo "id: ".$k." -- email: ".$v['email']." -- jmeno: ".$v['uz_jm'].'<br>';
}
Stepanka
Profil *
nightfish
Aha, to je mnohem lepší.. Děkuju.
RAmses
Profil
Ahoj, nejdřív se zeptám jestli to pole musí být takhle zadané. Máš vlastně hodnoty uložené v indexu.

	foreach ($emaily AS $key => $value)
	{
		$email = key($value);
		echo '
		ID: '.$key.'<br />
		email: '.$email.'<br />
		uz_jm: '.key($value[$email]);
	}

ale opravdu bych doporučoval jiný zápis
Stepanka
Profil *
RAmses
Já vím, použila jsem zápis od nightfishe.. Ale mám s tím uživatelským jménem stejně problém..
Když mám v kódu

foreach ($emaily as $k => $v) {
$mail->IsHTML(true); // tento řádek je zbytečný, protože níže nastavujeme obsah proměnné AltBody
	
$mail->AddAddress($v['email']);  // přidáme příjemce
	
$mail->From = __HLAVNI_EMAIL__;
$mail->FromName = __HLAVNI_EMAIL__;
		
$mail->Subject = $predmet;    // nastavíme předmět e-mailu
		
$text_emailu = $text;

// nahrazeni odkazu pro GA
$text_emailu = eregi_replace("(<a href=\"[[:alpha:]]+:\/\/(www)?[.]?[_a-zA-Z0-9\.\-]+\.[a-zA-Z][-_~&amp; #=\?\ .a-z0-9\/]*)",'\\1?ga='.$kod.'', $text_emailu);
		
// zmena e-mailu pro neregistrovane
if ($v['uz_jm'] == 'bez_registrace') {
$text_emailu .= '<br /><br />Chcete-li změnit svůj e-mail, klikněte <a target="_blank" href="http://ben-int.webc.cz/e-shop/zmenit_email.php?id='.$id_necele.'">ZDE</a>';
}
				
$mail->Body = '<html><body>'.$text_emailu.'</body></html>'; // nastavíme tělo e-mailu
}


Odešle mi to emaily s jedním (tím posledním) uživatelským jménem.

Pokud jsou například v poli dva e-maily, první má uz_jm == 'bez_registrace' a druhý má uz_jm == 'karel'. Nezobrazí se mi odkaz pro změnu emailu ani v jednom e-mailu, protože v každém je nastaveno uz_jm jako karel..
nightfish
Profil
to bude tím, že si v cyklu přepisuješ $mail->Body (a přidáváš příjemce)
dle mého by na začátku cyklu mělo být vytvoření nového objektu $mail (např. $mail = new PHPMailer())
a na jeho konci $mail->Send()...
problém je, že při více e-mailech a pomalosti mailserveru to může skončit na time_limitu
Stepanka
Profil *
nightfish
Super, stačilo přesunout $mail = new PHPMailer(); do cyklu.. Děkuju moc

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0