Avatar billede rasmusv Nybegynder
05. januar 2003 - 17:13 Der er 5 kommentarer og
1 løsning

Hjælp til bræftelsesmail i webshop

Hej Eksperter

Jeg er ved at lave en webshop og i den forbindelse vil jeg gerne sende en bekræftelsesmail til kunden om hvilke vare han/hun har modtaget. Disse oplysninger vil jeg gerne vise i en html tabel.
Jeg har derfor brug for at få gemt flg. kodestump i en variabel eller funktion så jeg kan sætte den ind i mail().
Her kommer koden:
function num_items($table, $session)
        {
            $result = mysql_query( "SELECT * FROM $table WHERE session='$session'");
            $num_rows = mysql_num_rows($result);
            return $num_rows;
        }


if($ShoppingCart)
  {   
    $session = $ShoppingCart;
  }


    $x = 0;
    while($x != $cart->$num_items($table,$session))
    {
      echo '<TR><TD BGCOLOR=#E1E1E1><font>'.$contents[product][$x].'</TD><TD BGCOLOR=#E1E1E1><font>'.$contents[price][$x].'</TD>';
      $product  = $contents[product][$x];
      echo '<TD BGCOLOR=#E1E1E1><font>'.$contents[quantity][$x].'</TD>';
      echo '<TD BGCOLOR=#E1E1E1><font>'.$contents[total][$x].'</TD>';
              $x ++;
    }
    echo '</TR></TABLE>';
$total = $cart2->cart_total($table,$session);
    echo '<BR><center><font>Total excl moms: '.$total.'<br>';
$total = $total * 1.25;
    echo '<b>Total med moms: '.$total.'</body></html>';

Jeg har prøvet at lave den om til en funktion samt at bruge eval() men uden held - håber I kan hjælpe
Avatar billede whatever Nybegynder
05. januar 2003 - 17:27 #1
Kan du ikke bare sætte en variablen lig med html-koden, istedet for at udskrive den:

$dinvar .= '<TR><TD BGCOLOR=#E1E1E1><font>'.$contents[product][$x].'</TD>';
Avatar billede rasmusv Nybegynder
05. januar 2003 - 17:55 #2
Nej, det går ikke hvis der er flere produkter i listen, for så vil variablen jo blive overskrevet og det er derfor kun det sidste produkt der vil blive glemt...
Avatar billede whatever Nybegynder
05. januar 2003 - 18:16 #3
Nej, den bliver ikke overskrevet når der står .=
Så tilføjes dataen til variablen, så det eksisterende data i variablen ikke overskrives.
Avatar billede whatever Nybegynder
05. januar 2003 - 18:20 #4
Ellers kan du benytte af outputbuffereren.
ob_start(); starter bufferen. Sæt den inden html-koden som skal ned i variablen starter.

$htmlkode = ob_get_contents(); gemmer indholdet af bufferen i variablen $htmlkode. Sæt den tilsidst når du har udskrevet al html-kode til mailen.

ob_end_clean(); tommer bufferen. Sættes efter du har gemt indholdet af bufferen i variablen.
Avatar billede rasmusv Nybegynder
05. januar 2003 - 19:57 #5
YES! Det virker med ob_start() - fedt!
Her har du dine point..
Avatar billede whatever Nybegynder
05. januar 2003 - 20:17 #6
Takker. Det var nu ikke nødvendigt at give så mange point :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester