Autor Zpráva
hexcross.
Profil *
Mám funkci ve které se mi sestavuje text do emailu :
function sestav_email($i){
echo "Text na zacatku...<br />";
foreach ($_SESSION['kosik'] as $klic => $hodnota)  {
$sql = mysql_query("SELECT * FROM produkty_moc WHERE id=$klic");
while ($vypis = MySQL_Fetch_Array($sql)){
echo "$vypis[nazev]<br />";
}           
}
echo "Ještě jednou děkujeme a přejeme pěkný den!  <br /><br />";
}


Když jí vyvolám vypíše se všechno OK...
sestav_email();


Ale já potřebuji dostat to echo do funkce mail() :
Mail("hexcross@gmail.com", "Predmet", "sestav_email();", "From: " . $headers);
- překvapivě to nejde :)

Zkoušel jsem všemožný bizardnosti jako třeba nějak dostat funkci do proměnné...ale neúspěšně :(

Díky.
yFang
Profil
hexcross.:
A takhle jsi to zkoušel?
Mail("hexcross@gmail.com", "Predmet", sestav_email(), "From: " . $headers);
Tori
Profil
Od toho je return.
Použít proměnnou jako název funkce je sice také možné, ale to nesouvisí se vrácenou hodnotou vs. přímým výstupem výsledku funkce.
hexcross.
Profil *
yFang:
Zkoušel hodí to error.
hexcross.
Profil *
Tori:
Já jakžtakž chápu princip funkce return ale nechápu jak do nějáké proměnné dostanu ten výpis z DB abych ho potom mohl vrátit..
Ernie
Profil *
function sestav_email($i){
$output = "";
$output .= "Text na zacatku...<br />";
foreach ($_SESSION['kosik'] as $klic => $hodnota)  {
$sql = mysql_query("SELECT * FROM produkty_moc WHERE id=$klic");
while ($vypis = MySQL_Fetch_Array($sql)){
$output .= "$vypis[nazev]<br />";
}           
}
$output .= "Ještě jednou děkujeme a přejeme pěkný den!  <br /><br />";
return $output;
}


...

Mail("hexcross@gmail.com", "Predmet", sestav_email(), "From: " . $headers);
yFang
Profil
hexcross.:
Ulož si všechno během načítání z db to proměnné a tu pak vrať.

function sestav_email($i)
{
  $text = "Text na zacatku...<br />";
  foreach ($_SESSION['kosik'] as $klic => $hodnota)
  {
    $sql = mysql_query("SELECT * FROM produkty_moc WHERE id=$klic");
    while ($vypis = MySQL_Fetch_Array($sql))
    {
      $text .= "$vypis[nazev]<br />";
    }           
  }
  $text .= "Ještě jednou děkujeme a přejeme pěkný den!  <br /><br />";
  return $text;
}
hexcross.
Profil *
Ernie, yFang:
Super díky, přesně tak jsem to potřeboval :)

Tušil jsem že to bude založený na plnění jedný proměnný ;) ale nevědel jsem jak :D

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: