27. maj 2004 - 11:01Der er
14 kommentarer og 1 løsning
while sætning i mail funktion
Jeg har denne kode som virker fint... <?php ob_start();
$epost = $_REQUEST["email"]; mail("$epost", "En hilsen", "Hejsa\nhvordan går det", "From: afsender@test.dk\nReply-to: $epost");
echo "Mail er sendt til $epost"; echo "<p>Tilbage til <a href=\"./\">artiklen</a>";
// header("Location: accept.php"); // exit;
?>
problemet er at jeg skal hente nolge oplysninger fra en database, som jeg skal udskrive i en while funktion. Hvordan får man det med i email funktionen?
f.eks <?php
while($row = mysql_fetch_array($result)) { // Increment the total cost of all items $envariable += ($row["qty"] * $row["price"]);
?> <echo $row["envariable"];?>//hvordan får jeg sendt denne del i emailen <?php }
Mit forslag gik bare på at hente totalen direkte i forespørgslen, men du samler jo fint variablen i denne linie: $envariable += ($row["qty"] * $row["price"]); Den kan du jo indsætte i din besked således:
mail("$epost", "En hilsen", "Hejsa\nhvordan går det\nDen samlede pris er $envariable", "From: afsender@test.dk\nReply-to: $epost");
Arh, ok. Du kan samle det i en variabel vha. Fx: $variabel .= $row['qty']." á ".$row['price']." kr."." ialt: ".($row['qty']*$row['price'])." kr. ".$row['envariable']."\n";
Jeg tror ikke du har forstået hvad problemet er. Jeg kan godt finde ud at lægge tingene sammen og få skrevet det ud. Problemet er som sagt at jeg ikke kan sætte den del ind i den del her " mail("$epost", "En hilsen", "Hejsa\nhvordan går det\nDen samlede pris er $envariable//den del skal i en løkke da der skal hentes flere ting fra databasen", "From: afsender@test.dk\nReply-to: $epost"); "
Jo, jeg har forstået problemet. Det jeg mener er du skal sammensætte alt det du skal bruge fra while-løkken i en (evt. flere) variabel, som du så indsætter i din mail() funktion. Fx:
<?php // Lav udtræk fra databasen o.l.
$total = 0; $str = ""; while($row = mysql_fetch_array($result)) { // Increment the total cost of all items $total += ($row["qty"] * $row["price"]); $str .= $row['qty']." á ".$row['price']." kr."." ialt: ".($row['qty']*$row['price'])." kr. ".$row['envariable']."\n"; } $str .= "Pris ialt: ".$total." kr.\n";
mail($epost, "En hilsen", $str, "From: afsender@test.dk\nReply-to: $epost"); ?>
Du kan jo altid eksperimentere lidt med indeholdet af $str, ved at udkommentere mail() delen og så bruge: echo nl2br($str); indtil du er tilfreds med indeholdet. Ellers må du beskrive lidt nærmere, hvad der mere præcist skal stå i mailen og hvad dine felter i tabellen hedder og indeholder.
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.