SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Fortgeschrittene CSS-Techniken

Fortgeschrittene CSS-Techniken zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 22.02.2006, 11:32:56
gdadade gdadade ist offline
Anfänger
 
Registriert seit: Feb 2006
Beiträge: 6
mail() soll alle Ergebnisse auf einmal liefern

Hallo!

Ich hab eine Suche für meine Literaturdatenbank gebastelt und würde dem Nutzer gern die Möglichkeit geben, sich die Ergebnisse als Mail zukommen zu lassen. Die Formatierung geht dann Flöten, aber dass ist nicht schlimm.

Das Problem ist, dass er mir nur einen Datensatz pro email schickt. Das heißt, wenn die Suchanfrage 14 Treffer lieferte, krieg ich 14 mails. Das soll natürlich nicht so sein, sondern ich möchte es so wie jetzt, aber alle untereinander. Hier mal der Code für die Titelanzeige. Die Titel werden genauso bei der Suchanfrage ausgegeben, nur dann natürlich mit echo und alle schön untereinander.

PHP-Code:
// Titel anzeigen     
      
echo "<hr /><ul>\n";
      
$titlecount=0;
      while(
$row mysql_fetch_object($result1)) 
      {
        
$titlecount++;
          if(
$row->Journal)
            
$Journalref $row->Journal;
          
// title
      
    
$to "123@gmx.de";
    
$subject "Suchanfrage für [";
    
$subject .= $formSearch;
    
$subject .= "]";
    
$msg =  $Autor[$row->IDPaper];
    
$msg .= $row->Hrsg;
    
$msg .= " (";
    
$msg .= $row->Jahr ;
    
$msg .= "): ";
    
$msg .= $row->Titel;
    
$msg .= " ";
    
$msg .= $row->Verlag;
    
$msg .= $Journalref;
    
$msg .= " ";
    
$msg .= $row->Ausgabe;
    
$msg .= " ";
    
$msg .= $row->Seite;
    
$msg .= "\n";
    
$msg .= "Sprache: ";                    //neue Zeile
    
$msg .= $row->Sprache;
    
$msg .= "\n";
    
$msg .= "Abstract: ";                   //neue Zeile
    
$msg .= $row->Abstract;
    
$msg .= "\n";
    
$msg .= "Berücksichtigte Arten: ";  //neue Zeile
    
$msg .= $Arten[$row->IDPaper];
    
$msg .= "\n";
    
$msg .= $Link[$row->IDPaper];     //neue Zeile
    
$headers "From: 456@gmx.de\nReply-To: 456@gmx.de";
    
mail("$to""$subject""$msg""$headers");
    echo 
"finished!"
      
      } 
Kann mir da jemand helfen? Danke schonmal
Gabi
Mit Zitat antworten
  #2  
Alt 22.02.2006, 11:45:26
nites nites ist offline
Anfänger
 
Registriert seit: Feb 2005
Beiträge: 69
AW: mail() soll alle Ergebnisse auf einmal liefern

Also wenn ich deinen Code richtig verstehe, dann schickst du bei jedem gefundenen Titel eine email ab.
Besser wäre es, wenn Du Dein While zuerst machst und in eine Variable schreibst
z.B.
PHP-Code:
while($row mysql_fetch_object($result1)) 
      {
        
$titlecount++;
          if(
$row->Journal)
            {
$Journalref $row->Journal
            
$Journaltext Journaltext."<br>".$Journalref}
          
usw
(tut mir leid wegen dem spärlichen Code, hoffe, Du verstehst es trotzdem.)
wenn dann alles ausgelesen ist, kannst Du die email verschicken.

Von wegen Formatierung: such mal nach der Funktion nbrl.
Mit Zitat antworten
  #3  
Alt 22.02.2006, 12:09:29
gdadade gdadade ist offline
Anfänger
 
Registriert seit: Feb 2006
Beiträge: 6
AW: mail() soll alle Ergebnisse auf einmal liefern

Vielen Dank für die schnelle Antwort!

Ich hab das mit der while-Schleife und den Variablen probiert. Jetzt schickt er zwar nur eine Mail, aber dadrin steht nur der letzte Datensatz der Suchanfrage.
Sehr ominös ;)
Gabi
Mit Zitat antworten
  #4  
Alt 22.02.2006, 12:46:32
nites nites ist offline
Anfänger
 
Registriert seit: Feb 2005
Beiträge: 69
AW: mail() soll alle Ergebnisse auf einmal liefern

Hast du denn sowas
PHP-Code:
$Journaltext Journaltext."<br>".$Journalref 
in der Art gemacht?
Das bedeutet nichts anderes, als dass Du zu einem Text den neuen hinzufügst.
z.B.
1. mal in der Schleife
$Journalref = "Text1";
$Journaltext = """<br>""Text1";
-->
$Journaltext = "<br>Text1";

2. mal in der Schleife
$Journalref = "Text2";
$Journaltext = "<br>Text1""<br>""Text2";
-->
$Journaltext = "<br>Text1<br>Text2";

und das natürlich bei allen gewünschten Variablen
Mit Zitat antworten
  #5  
Alt 22.02.2006, 13:25:37
Giz Giz ist offline
Junior Member
 
Registriert seit: Apr 2005
Beiträge: 309
AW: mail() soll alle Ergebnisse auf einmal liefern

PHP-Code:
$Journalref. = $row->Journal
in der Schleife... würde ich sagen. Und das "}" schiebst Du dann ganz nach oben. (Bei dem ursprünglichen Code)

Geändert von Giz (22.02.2006 um 13:27:48 Uhr)
Mit Zitat antworten
  #6  
Alt 22.02.2006, 13:57:38
gdadade gdadade ist offline
Anfänger
 
Registriert seit: Feb 2006
Beiträge: 6
AW: mail() soll alle Ergebnisse auf einmal liefern

Also ich hab das jetzt nochmal probiert und zwar mal nur für Journal. Es taucht dasselbe Problem auf, er liefert mir nur das Journal vom letzten Datensatz und das <br> schreibt er als <br> aus. Ich hab auch probiert den mail-Teil ganz ans Ende des Scripts zu packen, aber keine Veränderung.

PHP-Code:
 $titlecount=0;
 while(
$row mysql_fetch_object($result1)) 
{
        
$titlecount++;
          if(
$row->Journal)
            
$Journalref $row->Journal;
            
$Journaltext Journaltext."<br>".$Journalref;
}
 
$to "123@gmx.de";
    
$subject "Suchanfrage für [";
    
$subject .= $formSearch;
    
$subject .= "]";
    
$msg =  $Journaltext;
    
$headers "From: 456@gmx.de\nReply-To: 456@gmx.de";
    
mail("$to""$subject""$msg""$headers");
    echo 
"finished!"
Mit Zitat antworten
  #7  
Alt 22.02.2006, 14:08:44
gdadade gdadade ist offline
Anfänger
 
Registriert seit: Feb 2006
Beiträge: 6
AW: mail() soll alle Ergebnisse auf einmal liefern

@Giz
Jetzt gehts! Der Punkt muss aber eins rüber:
PHP-Code:
$Journalref .= $row->Journal
Der Zeilenumbruch klappt zwar noch nicht, aber jetzt kommen alle Journale in einer Mail! Supi! Vielen Dank, dann werd ich mal den Rest auch noch reinbasteln :))

Gabi
Mit Zitat antworten
  #8  
Alt 22.02.2006, 14:32:02
Giz Giz ist offline
Junior Member
 
Registriert seit: Apr 2005
Beiträge: 309
AW: mail() soll alle Ergebnisse auf einmal liefern

Zitat:
Zitat von gdadade
@Giz
Jetzt gehts! Der Punkt muss aber eins rüber:
Der Zeilenumbruch klappt zwar noch nicht, aber jetzt kommen alle Journale in einer Mail! Supi! Vielen Dank, dann werd ich mal den Rest auch noch reinbasteln :))
Ja klar... der Punkt muss rüber. Habe mich nur an der "Zeichensetzungsnorm" (leerzeichen nach Satzzeichen) gehalten, was hier natürlich sowas von falsch ist.

Natürlich funzt <br> nicht, es ist ja keine HTML Mail. Verszuche es stattdessen mal mit \n
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
mail() sendet mail nicht Chrone PHP Grundlagen 3 11.04.2004 13:20:07
Formular als Html Mail verschicken luckypycho PHP für Fortgeschrittene und Experten 1 17.02.2004 22:23:18
Seltsames Verhalten bei Mail mit Anhang - e-Card Funktion NightDragon PHP für Fortgeschrittene und Experten 2 22.01.2004 18:47:43
Mail versenden wenn alle Felder ausgefüllt... Swordfish PHP für Fortgeschrittene und Experten 11 05.09.2002 12:12:56
PHP mail() funktion und server probleme flobee PHP für Fortgeschrittene und Experten 0 03.07.2002 02:18:27


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


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt