SQL in eine mailfunktion?

Alph4

Mitglied
Guten morgen

ist es möglich in eine mailfunktion, eine SQL abfrage mit einzubauen?

ich habe schon etwas rumprobiert aber das einzigste was ich bekomm ist eine leere email.

PHP:
$header = ("From: " . $absender . "\n");
$header .= ("Reply-To: " . $empfaenger . "\n");
$header .= ("Return-Path: " . $empfaenger . "\n");
$header .= ("X-Mailer: PHP/" . phpversion() . "\n");
$header .= ("X-Sender-IP: " . $REMOTE_ADDR . "\n");
$header .= ("Content-type: text/HTML; charset=\"ISO-8859-1\"\r\n");

$subject = "Abfrage\r\n";

$abfrage = 'SELECT * from $tb_abfrage';
$query = mysql_query($abfrage, $con);

while ($w = mysql_fetch_array($query))
{

$body = "
";

}

mail($empfaenger, $subject, $body, $header);

oder gibt es eine möglichkeit diese abfrage mit in den $body einzubauen?

MfG
 
ja genau das hab ich versucht aber das ein zigste was ich als email bekommen hab ist eine leere Seite...wenn ich aber die while schleife ohne der mailfunktion ausgebe bekomme ich ganz normal die Tabellen werte... ich versuch es einfach nochmal vielleicht hab ich ja nen fehler gemacht vielen dank für die Hilfe...=)
 
Da es mehr Inhalt zu sein scheint, würde ich den Body immer erweitern ...
PHP:
$abfrage = 'SELECT * from $tb_abfrage'; 
$query = mysql_query($abfrage, $con) Or die(mysql_error()); 
$body = '';
$log = array();
if(mysql_num_rows($query) > 0) {
while ($w = mysql_fetch_array($query)) 
{ 
// \n für neue Zeile
$body .= $w['meineSpalte'] . "\n"; 
$log[] = $w['meineSpalte'];

} 
}else {
echo 'Nix da.';
}
// debug!!
echo '<pre>';
print_r($log);
echo '</pre>';

// wuuusch mail!
mail($empfaenger, $subject, $body, $header);

// Edit
Mal Code etwas ausgeschmückt ...
 
so sah es anfangs aus

PHP:
$anfrage = 'SELECT * from $tb_tabelle';
$query = mysql_query($anfrage, $con);

$anfragen = "SELECT `id`, SUM(gesammt) as summe from $tb_tabelle WHERE `id` = '".$_SESSION['id']."' GROUP BY `kundennr`";
$g = mysql_fetch_array($query);

$gesammt = sprintf("%01.2f", $g['summe']);
while (mysql_fetch_array($query))
{
$body = "
                <table border='0' width='85%' cellspacing='0' cellpadding='0'>
		<tr>
		<td width='150'>
		<p align='center'>&nbsp;</td>
		<td><b>Adresse</b></td>
		</tr>
		<tr>
			<td width='100'>Kunden Nr.:</td>
			<td><font size='4'> ".$_SESSION['id']."".$_SESSION['nr']."</font></td>
		</tr>
		<tr>
			<td width='100'>Vor- und Nachname:</td>
			<td>".$_SESSION['vorname']." ".$_SESSION['name']."</td>
		</tr>
		<tr>
			<td width='100'>Straße u. Hausnr.:</td>
			<td>".$_SESSION['strasse']." ".$_SESSION['hnr']."</td>
		</tr>
		<tr>
			<td width='100'>PLZ:</td>
			<td>".$_SESSION['plz']."</td>
		</tr>
		<tr>
			<td width='100'>Ort:</td>
			<td>".$_SESSION['ort']."</td>
		</tr>
		<tr>
			<td width='100'>e-Mail:</td>
			<td>".$_SESSION['email']."</td>
		</tr>
	</table>
	<br>
	<br>
		<table border='0' width='85%' cellspacing='0' cellpadding='0'>
			<tr>
				<td width='150'>
				<p align='center'>&nbsp;</td>
				<td><b></b></td>
			</tr>
			<tr>
				<td width='100'>Vor- und Nachname:</td>
				<td>$lname</td>
			</tr>
			<tr>
				<td width='100'>Straße u. Hausnr.::</td>
				<td>$lstrasse</td>
			</tr>
			<tr>
				<td width='100'>PLZ</td>
				<td>$lplz</td>
			</tr>
			<tr>
				<td width='100'>Ort</td>
				<td>$lort</td>
			</tr>
		</table>
<br>
<br>
<table border='0' width='100%' cellspacing='0' cellpadding='0'>
	<tr>
		<td width='20%'>".$w['wert']."</td>
		<td width='10%' align='center'>".$w['menge']."</td>
		<td width='20%' align='right'><font face='Times New Roman'>".$w['punkte']." </font></td>
		<td width='20%' align='right'><b><font face='Times New Roman'>".$w['gesammt']."</font></b></td>
		<td align=center width='30%'><b>
	</tr>
</table>
<hr>

<table border='0' width='100%' cellspacing='0' cellpadding='0'>
	<tr>
		<td width='20%'></td>
		<td width='10%'>&nbsp;</td>
		<td width='20%'>&nbsp;</td>
		<td width='20%' align='right'><b>
		<font style='font-size: 15pt' face='Times New Roman'>$gesammt</font></b></td>
		<td width='30%'></td>
	</tr>
</table>";
}
 
Mit dem folgenden gehst du zwar durch die Datensätze der Tabelle. Jedoch wertest du nix aus
PHP:
while (mysql_fetch_array($query))
Nachher wertes du nur die Session aus. Die hat aber gar nix mit der Tabelle zu tun.
Das sollte so irgendwie aussehen
PHP:
while ($row = mysql_fetch_array($query)) {
    $body = "Dein ganzes HTML-Zeugs <b>{$row['feld1'}"
}
 
Ersetz einfach
PHP:
while (mysql_fetch_array($query))
Durch ...
PHP:
while ($w= mysql_fetch_array($query))
Dann solltest du doch zumindest was drinnen haben, oder? Bekommst du immer nur ein Ergebnis? Ansonsten musst du dein "body" erweitern. Siehe mein Code oben.
 
Hallo
Entschuldigung das ich mich jetzt erst wieder melde...

also ich hab mal etwas probiert bzw. den $body erweitert so wie du sagtest und es auch mal so übernommen wie du es geschrieben hattest aber bekomm eine leere email

MfG
 
Zurück