Autor | Zpráva | ||
---|---|---|---|
Stepanka Profil * |
#1 · Zasláno: 27. 9. 2008, 09:47:13
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 |
#2 · Zasláno: 27. 9. 2008, 10:06:07
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 * |
#3 · Zasláno: 27. 9. 2008, 10:09:47
nightfish
Aha, to je mnohem lepší.. Děkuju. |
||
RAmses Profil |
#4 · Zasláno: 27. 9. 2008, 10:09:59
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 * |
#5 · Zasláno: 27. 9. 2008, 10:46:17
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][-_~& #=\?\ .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 |
#6 · Zasláno: 27. 9. 2008, 10:53:05
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 * |
#7 · Zasláno: 27. 9. 2008, 11:09:35
nightfish
Super, stačilo přesunout $mail = new PHPMailer(); do cyklu.. Děkuju moc |
||
Časová prodleva: 16 let
|
0