php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 20.04.2005, 15:00  
Gast
 
Beiträge: n/a
Standard [Erledigt] hilfe zum Füllen von email

Halllo leute
ich würde gerne Daten aus einer Datenbank abfrage nicht nur als tabelarische Übersicht im eingetlliche PHP Dokunet haben,sondern diese auch direkt per mail verschicken.

Ja sicher, das findet ma grundsätzich in jedem Handbuch,aber da wird davon ausgegangen,das ich das direkt aus dem Formular verschicke. ich möchte das aber gerne über Outlook tuen.

Meiner bisheriegen Versuche:
1. ich schreibe den kompleten Code zur erstellung der Tabelle in einer Variable, das Ergebnis war das ich den QT in der Mail hatte, sehr blöd. Warum kann outlook denn euch kein php??

PHP-Code:
<?php
//Email verschicken
            
print( " <a href='mailto:x@x.xx?body=");
            print(
$inhalt);
            print(
"'>Bestellung per Mail verschicken</a> ");
?>
2. ich schreibe das ganze in eine TXT Datei, schade, jetzt habe ich keine hübsche Tabelle mehr,ist aber auch nciht so schimm,wenn mit nicht nur der letzte Datensatz angezegt würde.


PHP-Code:
<?php

$ergebnis
=mysql_query($bestll);
$spaltenanzahl=mysql_num_fields($ergebnis);

$file fopen ("file.txt""w");
if (!
$file) {
echo 
"

Datei konnte zum schreiben nicht geöffnet werden.\n"
;
exit;
}

for (
$i=0;$i<$spaltenanzahl;$i++)
    {

       
$titles=mysql_field_name($ergebnis,$i);
        
fputs ($file$titles);
        
fputs ($file"    ");
}
while(
$zeile=mysql_fetch_row($ergebnis))
    {
    for (
$i=0;$i<$spaltenanzahl;$i++)
    {
        
fputs ($file$zeile[$i]  );
        
fputs ($file"    ");
     }

}
?>
kann mr jemand sagen,unter welcher Funktion ich suchen muss um fündig zu werden, also wie das klappen könnte?
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 20.04.2005, 15:07  
Gast
 
Beiträge: n/a
Standard

? du solltest etwas genauer beschreiben was du willst nach 3 fachem lesen hab ich es immernochnicht richtig verstanden
 
Alt 20.04.2005, 15:26  
Gast
 
Beiträge: n/a
Standard

ich werds veruchen...

also ich haber eine Seite, auf der eine Tabelle steht, die Tabelle ist mit Daten aus einer Datenbank gefüllt...

im meinem Fall eine Bestelleung, die sich aus mehren Bestellpositionen zusammensetzte...

diese Tabelle (Bestellung) möchte ich nun per Mail verschieken und zwar entweder dierek in der Mail (über Outlook) oder über eine Texdatei, die in den Anhang eingefügt wird.


jetzt etwas verständlicher???
 
Alt 20.04.2005, 16:00  
Erfahrener Benutzer
 
Registriert seit: 30.06.2004
Beiträge: 619
tapferesschneiderlein
Standard

PHP-Code:
<?php
$email 
'name@domain.tld';
$bcc   'me@localhost';
$subject 'Das ist die Betreffzeile (mit Ümläüten)';
$body 
'Hallo, 

das ist der Text, der aus der DB gelesen
und formatiert wurde.

Tschüß
Schneiderlein'
;



echo 
'<a href="mailto:' $email .
'?bcc=' $bcc .
'&amp;subject=' rawurlencode(_prepare_mua($subject)) .
'&amp;body=' rawurlencode(_prepare_mua($body)) . '">link</a>';

function 
_prepare_mua ($str$standard_mua true ) {
    if (
$standard_mua)
        return 
utf8_encode($str);
    else
        return 
$str;
}
?>
tapferesschneiderlein ist offline  
Alt 20.04.2005, 17:11  
Gast
 
Beiträge: n/a
Standard

vielen Dank werds gleich mal testen..nur noch eine Frage, wird die mail automatisch generiert, oder muss ich dafür noch einen Button, link oder was auch immer einbauen?
 
Alt 21.04.2005, 10:41  
Gast
 
Beiträge: n/a
Standard

ok,beim testen hat sich meine frage erübricht, da ist ja schon ein link,dafür hab ich wieder mein 1. Problem...

Hier der INhalt meiner e-mail:


Code:
  for ($i=0;$i<$spaltenanzahl;$i++) 
        { 
                print("<th>"); 
                        print(mysql_field_name($ergebnis,$i)); 
                print("</th>"); 
        } 
        while($zeile=mysql_fetch_row($ergebnis)) 
        { 
                print("<tr align=\"center\">"); 
                for ($i=0;$i<$spaltenanzahl;$i++) 
                { 
                        print("<td>"); 
                        print($zeile[$i]); 
                        print("</td>"); 
                } 
                print("</tr>"); 
        }
und hier zur kontrolle noch mal mein angepasster qt:

PHP-Code:
<?php
//Daten in E-Mail schreiben

 // Verbindung zur Datenbank
$db=mysql_connect("localhost","root","");
mysql_select_db("software_bestellwesen") or die;

 
//Datenauswahl

$bestll="SELECT positonID ,Bezeichnung,Version,Hersteller,KST,p.Kommentar, Lieferant_Name ,Menge,Preis, (Menge * Preis) AS Product
         FROM bestellung b, positionen p, angebot a, software s,lieferant l
         WHERE b.bestellungID = p.bestellung_ID and p.angebot_ID = a.angebotID and a.software_ID = s.softwareID and a.lieferanten_ID = l.lieferantenID"
;
$ergebnis=mysql_query($bestll);
$spaltenanzahl=mysql_num_fields($ergebnis);

//Tabelarische Ausgabe
//In Variable schreiben
$body '
    for ($i=0;$i<$spaltenanzahl;$i++)
    {
        print("<th>");
            print(mysql_field_name($ergebnis,$i));
        print("</th>");
    }
    while($zeile=mysql_fetch_row($ergebnis))
    {
        print("<tr align=\"center\">");
        for ($i=0;$i<$spaltenanzahl;$i++)
        {
            print("<td>");
            print($zeile[$i]);
            print("</td>");
        }
        print("</tr>");
    }
'
;

  
mysql_close($db);

//Weiter Variablen
$email 'name@domain.tld';
$bcc   'me@localhost';
$subject 'Das ist die Betreffzeile ';

//Füllen der e-mail

echo '<a href="mailto:' $email .
'?bcc=' $bcc .
'&amp;subject=' rawurlencode(_prepare_mua($subject)) .
'&amp;body=' rawurlencode(_prepare_mua($body)) . '">link</a>';

function 
_prepare_mua ($str$standard_mua true ) {
    if (
$standard_mua)
        return 
utf8_encode($str);
    else
        return 
$str;
}
?>
Aber ich hätte doch so gerne die Tablle oder zumindeest mit Tabs getrennt die Ausgabe...
ist das überhaupt möglcih?
 
Alt 21.04.2005, 10:50  
Erfahrener Benutzer
 
Registriert seit: 30.06.2004
Beiträge: 619
tapferesschneiderlein
Standard

1. Schau Dir mal an, wie eine HTML-Tabelle aufgebaut ist (<table>, <tr>, </tr> ...)).

2. Dein $body ist im Moment ein String, der mit »for ($i =« anfängt und mit »print("</tr>"); }« aufhört. ich glaube nicht, daß das die Empfänger Deiner Mail was angeht.

3. Wirf mal einen Blick auf die Funktionen mysql_fetch_row() und Co. sowie das Konstrukt foreach() ...
tapferesschneiderlein ist offline  
Alt 21.04.2005, 15:40  
Gast
 
Beiträge: n/a
Standard

ich hatte die ausgabe jetzt eifach so geteste,wie cih sie vorher für die Seite an sich benutz habe

wie ich html aufbauen müsst ist klar,hab ich blos nicht dran gedacht,klappt blos weider ncith wie erhofft
hab jetzt einfach mal versucht irgend einen werd aus der Datenbak in die Mail zu schreiben,aber wie kann ich das hinbekommen,wenn ich das eigentlich nciht in der "Body" schreiben kann hmmm..*grübel,runprobier....*
 
Alt 21.04.2005, 15:52  
Gast
 
Beiträge: n/a
Standard

hmm, jetzt hab ich die Ausgabe auf das mnimalste beschränkt,aber ncihtmal das klappe zu wie ichs grne hätte...

PHP-Code:
<?php
 
//Datenauswahl

$bestll="SELECT positonID ,Bezeichnung,Version,Hersteller,KST,p.Kommentar, Lieferant_Name ,Menge,Preis, (Menge * Preis) AS Product
         FROM bestellung b, positionen p, angebot a, software s,lieferant l
         WHERE b.bestellungID = p.bestellung_ID and p.angebot_ID = a.angebotID and a.software_ID = s.softwareID and a.lieferanten_ID = l.lieferantenID"
;
$ergebnis=mysql_query($bestll);
$spaltenanzahl=mysql_num_fields($ergebnis);

$datamysql_fetch_assoc($ergebnis);

 
$bez$data['Bezeichnung'];

// Daten der Variable $body zuweisen

 
$body ' $bez';


  
mysql_close($db);

//Weiter Variablen
$email 'name@domain.tld';
$bcc   'me@localhost';
$subject 'Das ist die Betreffzeile ';

//Füllen der e-mail

echo '<a href="mailto:' $email .
'?bcc=' $bcc .
'&amp;subject=' rawurlencode(_prepare_mua($subject)) .
'&amp;body=' rawurlencode(_prepare_mua($body)) . '">per mail verschicken</a>';

function 
_prepare_mua ($str$standard_mua true ) {
    if (
$standard_mua)
        return 
utf8_encode($str);
    else
        return 
$str;
}
?>

es muss doch eine möglichkeit geben den Datenabkinhalt in die mail zubekommen,oder nciht??
 
Alt 21.04.2005, 20:28  
Gast
 
Beiträge: n/a
Standard

so,habs geschaft!
Problem gelöst!

Nochmal Dankeschön
 
 


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
Hilfe beim Zusammenfüger 2er Scripts Flames1848 PHP Tipps 2008 7 27.05.2008 15:08
Doppelter Email Versand bei Server-Addi prinzli PHP Tipps 2008 36 30.01.2008 21:02
Abfrage ob email adresse schon vorhanden ist TeazY PHP Tipps 2008 10 16.12.2007 12:22
email decodieren / imap_fetchbody malabarista PHP Tipps 2006 0 19.10.2006 09:53
DB Abfrage nach email funktioniert nicht tinchen Datenbanken 3 15.05.2006 13:20
Newsletter email abfrage Problem mokus PHP Tipps 2006 7 18.04.2006 16:35
email test shocky PHP Tipps 2006 2 16.03.2006 13:55
[Erledigt] HILFE HILFE HILFE mysqladmin.exe fehlt Datenbanken 7 20.12.2005 14:00
[Erledigt] automatisch Email PHP Tipps 2005-2 3 26.07.2005 12:53
[Erledigt] doppelte email adressen suchen Datenbanken 9 20.05.2005 19:38
Email aus textarea PHP Tipps 2005 3 14.04.2005 21:37
eMail kontrolle PHP Tipps 2004-2 1 20.12.2004 13:01
Wie implementiere ich mein Email Formular? PHP Tipps 2004-2 2 14.11.2004 17:02
Suche eMail Formular in PHP Beitragsarchiv 2 12.10.2004 16:24
Email per PHP formatieren PHP Tipps 2004 4 26.07.2004 09:49

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php outlook mail dynamisch füllen, mailto mit daten füllen, mailto mailinhalt füllen, rawurlencode outlook

Alle Zeitangaben in WEZ +2. Es ist jetzt 09:31 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.