PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mail dynamisch füllen



Andislack
01-08-2003, 16:29
hi!

ich stehe vor dem problem, eine einfache text mail dynamisch zu füllen.
also ich habe mehrere datensätze in einer db und die möchte ich nun alle schön in der message einer mail wiederfinden...

hat da jemand eine idee?

danke gruss andi

Gaert
01-08-2003, 17:13
:confused: Wo liegt das Problem bei der Sache?

Mail Verschicken kannst du mit der mail funktion:
http://php.net/mail

Und die Daten holst du dir ganz normal mit einer Abfrage aus der Datenbank...

Andislack
01-08-2003, 17:48
hi gaert!

Also das mit der mailfunction ist schon klar...

Ich habe nur ein Problem, bzw. weiss ich nicht wie ich es machen soll und zwar folgendes.

Ich definiere die Message mit der Variablen $message, also darin soll der gesamte e-mail Text enthalten sein.

Jetzt kann ich ja


$message = "Auftragsbestätigung
Sie haben folgende Sachen bestellt:";
..
..
mail(....$message...);

machen.
Funktioniert auch wunderbar.

Das Problem bei mir ist nur, wie bekomm ich zu dem Inhalt den ich so in $message schreibe noch den dynamischen aus der db dazu?

also einen select und dann nen query...
und dann


while($row = mysql_fetch_object($query)){
message .= $row->irgendwas;
}


so habe ich das probiert, aber so hats nicht funktioniert...

Wahrscheinlich ein popeliges Problem, aber ich bekomms nicht hin.

Ist mein Problem klar? Dann wäre ich über einen kleinen Denkanstoß und/oder Code-Beispiel dankbar.

Gruss Andi

I-Master
01-08-2003, 18:07
Ein Beispiel:



<?

$test = 1;
$test2 = 2;

$message = "Hier steht was davor $test Hier steht was dazwischen $test2 Hier steht was dahinter";

print $message;

?>


In ner Mail musste bei den Absätzen dann noch mit /n arbeiten.

Gaert
01-08-2003, 18:39
Hallo Andislack,

hast du mal mit echo mysql_error() überprüft ob das Query richtig ausgeführt wird?
Desweiteren muss es
$message .= $row->irgendwas;
heissen.

Andislack
01-08-2003, 18:40
hi!

das man das so machen kann ist mir schon klar...aber so habe ich ja keine dynamischen inhalte aus z.b. einer while schleife mit drin.

also mein prob ist ja, wie ich die daten aus einer while-schleife in die $message schreibe.
also mal eine genaueres beispiel von meinem prob:
ich habe einen warenkorb und der inhalt davon soll bei bestellung in den messageteil der mail geschrieben werden.
dazu kommen natürlich noch andere sachen, die dynamisch aus der db gelesen werden.

so soll die mail aussehen:




$message = "Auftragsbestätigung

Sehr geehrter $anrede $ausgeben->nachname,

Wir haben Ihre Bestellung erhalten!

Ihre Bestellung werden wir so schnell wie möglich bearbeiten.
Die anfallenden Lieferkosten werden wir Ihnen in der Lieferbestätigung mitteilen, die Sie per Fax oder E-mail erhalten.

Folgende Adresse haben Sie als Lieferadresse angegeben:

Name: $rowliefer->liefername
Strasse: $rowliefer->lieferstrasse
Stadt: $rowliefer->lieferstadt
Land: $rowliefer->lieferland

Folgende Adresse haben Sie als Rechnungsadresse angegeben:

Name: $rowrechnung->rechnungsname
Strasse: $rowrechnung->rechnungsstrasse
Stadt: $rowrechnung->rechnungsstadt
Land: $rowrechnung->rechnungsland


Diese Artikel haben Sie bestellt:

und hier sollen jetzt die ganzen artikel aus dem warenkorb mittels eine while-schleife eingefügt werden.
nur wie kann ich hier mit einer while-schleife o.ä arbeiten?
";


oder kann ich den inhalt einer while-schleife in eine variable schreiben, sodass ich als bestellte artikel nur die $variable nehmen muss?
also dann ungefähr so:




Diese Artikel habe Sie bestellt:

$variable



das mit der lieferadresse und rechnungsadresse klappt ja wunderbar...nur die artikel...

hoffe ich konnte mein problem konkretisieren...:p

danke gruss andi

Gaert
01-08-2003, 18:52
Wie oben bereits erwähnt sollte das ganze eigentlich so funktionieren wie du das vor hast, also:


$message = "Artikel\n";

$result = mysql_query("SELECT ...");
while($rec=mysql_fetch_object($result) {
$message .= $rec->artikel . "\n";
}

echo $message

Andislack
01-08-2003, 18:59
hi gaert!

ja es klappt auch so, nur habe ich in meinen warenkorb eine zufallsvariable mit eingebaut, dass man durch "aktualisieren" nicht ausversehen den warenkorb nochmal bestellt.

und ich habe natürlich clevererweise immer einmal den warenkorb bestellt und dann auf aktualisieren geklickt damit ich ihn nicht jedesmal füllen muss wenn ich code geändert habe :D
folglich sind gar keine daten aus der db geholt worden...[tüdltüdl]

falle gestellt und selber reingetappt...und noch nichtmal gemerkt :cool:

naja jetzt gehts wie ich es mir vorgestellt hatte.
trotzdem vielen dank für eure bemühungen.

gruss andi