php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.03.2005, 19:13  
Gast
 
Beiträge: n/a
Standard [Erledigt] Darstellungsfehler einer mySQL Tabelle nach e-Mail Versand

Hi Leute,

habe ein Problem, und zwar habe ich ein shop-System bei dem auf der letzten Seite der Inhalt des Warenkorbs an meine e-Mail Adresse und an die Absenderadresse geschickt werden soll. Der Warenkorb wird in eine mySQL Datenbank geschrieben.
Die php-Datei die die e-Mail generiert, liest diese mySQL Datenbank aus.
Mein Problem ist dass die Tabelle (Daten aus Datenbank) fehlerhaft in den e-Mails dargestellt wird. Manchmal ist eine Zelle schwarz, oder Zeichen aus dem Quellcode werden dargestellt, oder die Formatierung stimmt nicht usw.
Habe den Quellcode bis auf das nötigste gelöscht. Übrig bleibt nun das:

Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body topmargin='0' leftmargin='0' rightmargin='0' bottommargin='0' marginwidth='0' marginheight='0'>
<?php

$sid  = $_POST['sid'];
// Warenkorb laden
$db=mysql_connect("localhost","sdfg","sdfg");
	mysql_select_db("sdfg");
	$anzeigen="SELECT * FROM sdfg";
	$ergebnis=mysql_query($anzeigen);
	while($zeile=mysql_fetch_row($ergebnis)){
	    if($sid==$zeile[1]){
	        $gesamtpreis=$zeile[4]*$zeile[5];
	        $liste=$content;
	        $eintrag=("<tr><td>");
	        $eintrag.=($zeile[2]);
	        $eintrag.=("</td></td><td align='center'>");
	        $eintrag.=($zeile[3]);
	        $eintrag.=("</td></td><td align='center'>");
	        $eintrag.=($zeile[4]);
	        $eintrag.=("</td></td><td align='right'>");
	        $eintrag.=(number_format($zeile[5],2,",","."));
	        $eintrag.=("&#8364</td></td><td align='right'>");
            $eintrag.=(number_format($gesamtpreis,2,",","."));
	        $eintrag.=("&#8364</td></td></tr>");
	        $content=$eintrag;
			$content.=$liste;
	    }
 }
    mysql_close($db);
    
	$mailtext ="<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'><html><body>
							<table border='0' cellspacing='0' cellpading='0' align='left' width='744'>
							{$content}
							</table></body></html>";
							
	$antwort ="<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'><html><body>
							<table border='0' cellspacing='0' cellpading='0' align='left' width='744'>
							{$content}
							</table></body></html>";

	mail("info@-.de",
	     "Bestellung aus www.-.de",
	     $mailtext,
	     "Content-Type:text/html\nFrom:$absender");

	mail($mail,
	     "Re: Ihre Bestellung aus www.-.de",
	     $antwort,
	     "Content-Type:text/html\nFrom:info@-.de");
?>
</body>
</html>
Sitze nun mittlerweile den ganzen Tag an diesem sch... Problem.
Kann mir jemand helfen. Ich weiss nicht mehr weiter.

Grüsse
groovesurfer
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 06.03.2005, 19:20  
Gast
 
Beiträge: n/a
Standard

Man möge mir verzeihen, aber wenn ich sowas sehe
PHP-Code:
   $anzeigen="SELECT * FROM sdfg"
   
$ergebnis=mysql_query($anzeigen); 
   while(
$zeile=mysql_fetch_row($ergebnis)){ 
       if(
$sid==$zeile[1]){ 
dann vergeht mir echt die Lust am weiterlesen.
Wir selektieren mal die komplette Tabelle, um dann per Script zu prüfen, was man eigentlich wirklich braucht. Kopfschüttel

Und das bei einem Shopsystem, da kann man sich vorstellen, wie der Rest aussieht.

Vermutlich so:
PHP-Code:
$liste=$content;
$content.=$liste
Sorry, aber du solltest das komplette Script nochmal überarbeiten, das sieht nicht wirklich durchdacht aus. Vermutlich wird sich dein Fehler dann von alleine in Luft auflösen.

Gruß
phpfan
 
Alt 06.03.2005, 19:30  
Gast
 
Beiträge: n/a
Standard

tja. Was soll ich dazu sagen.............. Danke

Habe noch mehrere Punkte auf der page genau so aufgebaut. Die funktionieren alle perfekt. Darunter auch ein Shopsystem, nur ohne Preise...
 
Alt 06.03.2005, 19:34  
Gast
 
Beiträge: n/a
Standard

Ich will ja nicht behaupten, dass es so nicht funktionieren kann, aber das ist, sorry, grausam programmiert.

Gruß
phpfan
 
Alt 06.03.2005, 19:44  
Gast
 
Beiträge: n/a
Standard

Code:
$ergebnis ="SELECT * FROM pcsysteme WHERE session_id LIKE '";
$ergebnis.=$sid;
$ergebnis.="'";
$anfrage=mysql_query($ergebnis)
	or die("Fehler bei der Datenbankanfrage!");
ist das besser?
 
Alt 06.03.2005, 19:50  
Gast
 
Beiträge: n/a
Standard

Fast, Like ist in dem Falle ja Quatsch.

$ergebnis = "SELECT * FROM pcsysteme WHERE session_id='$sid'";

Und das leidige Thema Select * sollte auch behoben werden:

16.14. Warum soll ich nicht SELECT * schreiben?
http://www.php-faq.de/q/q-sql-select.html

Außerdem solltest du nicht so eine nichtssagende Fehlermeldung ausgeben, wenn das Script fertig und getestet ist, ok, aber während der Entwicklung auf jeden Fall so:
PHP-Code:
$anfrage=mysql_query($ergebnis) or die("MySQL-Fehler: " mysql_error()); 
Außerdem ist die Zeile
PHP-Code:
error_reporting(E_ALL); 
am Anfang des Scriptes während der Entwicklung sehr hilfreich.

Gruß
phpfan
 
Alt 06.03.2005, 20:02  
Gast
 
Beiträge: n/a
Standard

alles klar. werde ich mir zu herzen nehmen. danke für die tips
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Was ist das Limit der Datensätze in einer MySQL Tabelle? ph!l Datenbanken 3 17.01.2010 22:37
[Erledigt] Php Mysql ausgabe in Tabelle / Gruppentrennung xitam PHP Tipps 2008 3 28.05.2008 22:03
MySQL und html Tabelle sven88 PHP Tipps 2008 10 12.05.2008 17:31
Link in eine MySQL Tabelle über PHP einbinden joda100 PHP Tipps 2007 3 05.03.2007 16:54
[Erledigt] Problem mit mySQL Datenbanken 7 27.09.2005 12:06
MYSQL - ASCII query in UTF8 Tabelle PHP Tipps 2005-2 1 14.09.2005 14:43
Anordnung tabelle / mysql JohnRambo PHP Tipps 2005-2 5 06.09.2005 11:19
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
if(neuer eintrag in mysql tabelle) nickie12 PHP Tipps 2005-2 6 08.08.2005 21:26
Tabelle nicht wird in MySQL erstellt! PHP Tipps 2005 2 01.04.2005 22:19
[Erledigt] tabelle in Mysql übertragen Datenbanken 0 05.08.2004 10:23
[Erledigt] Bild in mysql tabelle Datenbanken 5 04.08.2004 16:25
Maximal Wert in MYSQL Tabelle nach id rausfinden? PHP Tipps 2004 3 03.07.2004 23:27
einlesen von .txt file in deine Tabelle unter MySQL Datenbanken 1 16.06.2004 14:14
HILFE: Column count doesn't match value count at row 1 Datenbanken 17 12.06.2004 16:45

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql tabelle in email, warenkorb e-mail als doctype html public, zeichen darstellungsfehler mysql, htmlbody zelle mail tabelle, email nach mysql, e-mail tabelle mysql, zeichen darstellungsfehler doctype?, php mail html table mysql, utf8 tabellen in html bei mailversand, mysql tabelle darstellungsproblem, einlese-fehler } * html, body

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:05 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.