Toto vlákno bylo označeno za vyřešené.
Tomáš Bláha ~ Anonymní uživatel~ 5 příspěvků
Ahoj, mám prosbu:
potřebuji odeslat e-mail a jeho text načíst z MySQL:
$stmt = $db->prepare("SELECT * FROM x_emaily where nazev = 'test'");
$stmt->execute();
$mail = $stmt->fetch();
Avšak v MySQL je uvedená proměnná. Text v MySQ vypadá tedy takto: "texttexttext" . $code . "textexttext"
Finální text získávám takto:
$message = "<html><body>".$mail[text]."</body></html>";
Avšak ve chvíli kdy získaný text vypíši, nedostanu hodnotu proměnné, ale pouze původní text.
Je možnost, jak kód z MySQL načíst do proměnné tak, aby se vypsala hodnota proměnné?
Děkuji
peter ~ Anonymní uživatel~ 4007 příspěvků
#1 Tomáš Bláha
Možná by stačila elementární úprava:
<?php
$message = "<html><body>" . $mail['text'] . "</body></html>";
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Tomáš Bláha ~ Anonymní uživatel~ 5 příspěvků
Nakonec jsem to vyřešil obdobně podle toho, co říkal peter:
místo proměnných jsem do textu zadal řetězce ve formátu [TEXT_1] a ty jsem str_replace nahradil za proměnné.
Děkuji :)
peter ~ Anonymní uživatel~ 4007 příspěvků
Se dalo pouzit i preg_replace, kdybys to chtel univerzalne pro vsechno s $. Ale zapis vyrazu se mi nechtelo vymyslet. Do str_replace lze vlozit krom textu i pole. Kdyz si zpravu pripravis do pole $msg, pak by to vypadalo
$msg = array('aaa'=>'text1', 'bbb'=>'text2', 'ccc'=>'text2');
$msg['ccc'] = str_replace(array_keys($msg), $msg, $msg['ccc']);
Zjistit počet nových příspěvků
Přidej příspěvek
Uživatelé prohlížející si toto vlákno Uživatelé on-line: 0 registrovaných, 3 hosté