Avatar billede riefart Seniormester
07. juni 2015 - 15:33 Der er 4 kommentarer og
1 løsning

Send dataudtræk i mail

Jeg henter et antal poster i en tabel (sql) med følgende query:

if($stmt=$mysqli->prepare("SELECT * FROM `ordredetaljer` WHERE `ordre_id`='$ordre_id'"))
    {
    $stmt->execute();
    $stmt->bind_result($ordre_id, $produkt_id, $produktnummer,   
    $produkt_navn, $antal, $pris);
    while($stmt->fetch())
    {
?>         
        <tr>
        <td width='30%'><?php  echo $produkt_navn;?> </td>
        <td width='10%'><?php  echo $produkt_id;?> </td>
        <td width='10%'><?php  echo $antal;?> </td>
        <td width='10%'><?php  echo $pris;?> </td>
        <td width='10%'><?php  echo ($antal*$pris);?> </td>
        </tr>
<?php   
        }
    $stmt->close();
}         
Alle poster skrives fint ud på skærmen, men jeg har brug for også at sende dem som indhold i en mail, hvortil jeg bruger php's mailfunktion:
          $sent=mail($modtager, $overskrift, $indhold, $header);

Imidlertid er det kun den først fundne post i tabellen, der medsendes, og jeg gør tydeligvis noget galt...men hvad?
Avatar billede olsensweb.dk Ekspert
07. juni 2015 - 15:54 #1
hvor ligger du noget i $indhold ??

det kunne du gøre i ovenstående while løkke, hvor du i forvejen udtrækker de data du skal bruge
Avatar billede riefart Seniormester
07. juni 2015 - 16:09 #2
Jeg henter indholdet til $indhold sådan:

if($stmt=$mysqli->prepare("SELECT * FROM `ordredetaljer` WHERE `ordre_id`='$ordre_id'"))
    {
    $stmt->execute();
    $stmt->bind_result($ordre_id, $produkt_id, $produktnummer,
    $produkt_navn, $antal, $pris);
    while($stmt->fetch())
        {
        $pris_i_alt=($antal*$pris);
         
$indhold="<tr><td width='30%'>$produkt_navn</td><td width='10%'>$produkt_id</td><td width='10%'>$antal</td><td width='10%'>$pris</td><td width='10%'>$pris_i_alt</td></tr>";
        }
    $stmt->close();
}         
?>
Men får som sagt kun første post....ud af mange.
Avatar billede olsensweb.dk Ekspert
07. juni 2015 - 16:19 #3
$indhold="<tr><td

der mangler et punktum :) før ligmed i din while

$indhold.="<tr><td
Avatar billede riefart Seniormester
07. juni 2015 - 16:34 #4
Se nogle gange skal der bare andre øjne på. Troede at det var et punktum på min skærm.....så var det bare en flueklat.
Nej, du har så fuldstændigt ret, og nu virker det. Mange tak for hurtig hjælp. Smid et svar.
Avatar billede olsensweb.dk Ekspert
07. juni 2015 - 16:51 #5
får du her
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