Tabelle mit Datenbankinhalt per php Mail senden?

... komplette Frage anzeigen

4 Antworten

Deine While - Schleife erzeugt pro Ergebnis der Abfrage eine Tabelle. Wenn Du EINE Tabelle möchtest mit mehreren Zeilen, dann musst du den öffnenden und den schliessenden Table-Tag aus der Schleife herausnehmen.

Dann hättest Du pro Ergebniss, das aus der Abfrage kommt eine Zeile mit 2 Spalten. In der 1. Spalte steht jeweils "Test", in der 2. Spalte jeweils "abc" inklusive der Anführungszeichen. Beim border=1 solltest du noch die Anführungszeichen reinmachen

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Mickan1994
18.10.2016, 19:15

Was genau meinst du mit "öffnenden und schließenden Table Tag aus der Schleife nehmen"? 

komplett entnehmen sodass es so aussieht?:

$message="";
while($row = mysql_fetch_array($query)){
$message .=
'<tr>';
'<td width="20">"Test"</td>';
'<td width="80">"abc"</td>';
'</tr>';
}

Ich muss ja irgendwo den Tabellen Start bzw. das Ende definieren... 

0

Um eine Email zu versenden braucht es einen SMTP server. Entweder deine PHP-Installation hat einen Standardserver konfiguriert oder aber du musst einen Server gezielt angeben. Ich kann dir aber leider aus dem Kopf nicht sagen, mit welchen Funktionen du angeben kannst, über welchen Server php die mail versendet.

Ausserdem baust du den String falsch. Der beinhaltet nur das "<table ...>", danach folgen noch einige zeilen mit Stringliteralen.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Mickan1994
18.10.2016, 17:39

Das eMail senden an sich klappt ja wunderbar. Das ist nicht das Problem aber der Datenbankinhalt wird nicht in der eMail angezeigt. Ich habe es hinbekommen dass nur eine Auflistung untereinander verschickt wird aber mit Tabellenformatierung leider nicht...

0

Du nutzt nach wie vor keine String-Konkatenation. Das:

'<tr>'; 
'<td width="20">"Test"</td>';
'<td width="80">"abc"</td>';
'</tr>';
'</table>';

sind nur leere Ausdrücke, die nichts und niemanden zugewiesen werden. Hättest du meine Antworten und den darin enthaltenen Artikel (http://php.net/manual/de/language.operators.assignment.php) in deiner letzten Frage gelesen, wüsstest du das.

Antwort bewerten Vielen Dank für Deine Bewertung
Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Mickan1994
18.10.2016, 19:16

Leider gab es keine hilfreiche Antwort dort - daher erhoffe ich mir hier Hilfe. Der Code hat sich auch etwas geändert. Du hattest beim "alten" Post auch nichts mehr kommentiert :)

0

Was möchtest Du wissen?