Möchte mein script modifizieren brauche hilfe

hallo,

folgendes hier ist erstmal noch mal mein email script für die termine einträge aus der datei termine.txt

[code]<?php

$line = fopen(“termine.txt”, “r”) or die(‘Konnte Termine nicht öffnen’);

$h=array();

$h2 = 0;

$u = 0;

$uhrzeit = array();

$ort = array();

$veranstaltung = array();

$bemerkung = array();

while (!feof($line))

{

$buffer = fgets ($line, 4096);

if ($h > 2)

{

    $termine_array[$h2] = explode(';', $buffer);

    $termine_array[$h2][0] = explode(':',$termine_array[$h2][0]);

    $h2++;

}

$h++;

}

fclose ($line);

$date = date(“y-m-d”, mktime(0, 0, 0, date(“m”), date(“d”)+3, date(“y”)));

for ($i = 0; $i < count($termine_array);$i++)

{

if ($date == $termine_array[$i][0][0]) {$h[$u]=$i;$u++;}

}

for ($i = 0;$i < count($h);$i++)

{

$termine_array[$h[$i]][0][0][2] = ‘.’;

$termine_array[$h[$i]][0][0][5] = ‘.’;

$h2 = $termine_array[$h[$i]][0][0][0];

$termine_array[$h[$i]][0][0][0] = $termine_array[$h[$i]][0][0][6];

$termine_array[$h[$i]][0][0][6] = $h2;

$h2 = $termine_array[$h[$i]][0][0][1];

$termine_array[$h[$i]][0][0][1] = $termine_array[$h[$i]][0][0][7];

$termine_array[$h[$i]][0][0][7] = $h2;

$termin = $termine_array[$h[$i]][0][1] . " den " . $termine_array[$h[$i]][0][0];

$uhrzeit[] = $termine_array[$h[$i]][1];

$ort[] = $termine_array[$h[$i]][2];

$veranstaltung[] = trim($termine_array[$h[$i]][4]);

$bemerkung[] = trim(str_replace("||","\n",$termine_array[$h[$i]][5]));

}

if ( !empty($veranstaltung[0]) ) // Wenn Veranstalung nicht leer ist

{

$betreff = 'TTC 1974 Udenhain Termininformation für: ' . $termin;

$from = 'From: <ttc1974@xetu.de>';

$message = "Folgendes erwartet euch in 3 Tagen: \n\n\n ";

for ($i = 0;$i < count($veranstaltung);$i++)

{

         $message = $message . $termin . " um " . $uhrzeit[$i] . " in " . $ort[$i] . ". \n\n Veranstaltung: " . $veranstaltung[$i];



     if ( !empty($bemerkung[$i]) )

     {

          $message = $message . ",\n\n Bemerkung: " . $bemerkung[$i];

     }

     $message = $message . "\n\n\n\n";

}

$message = $message . "\n\n\n Sollte es noch Änderungen geben wäre es nett jeden davon in Kenntnis zu setzen! \n\n\n Viel Spaß wünscht euch der TTC 1974 Udenhain e.V. bei eurer Veranstaltung! \n\n\n";



$link = mysql_connect('localhost','xx,'xx');

mysql_select_db('ttc1974');

$result = mysql_query("SELECT email from email");

while ($addy = mysql_fetch_object($result))

{

   mail($addy->usr_email, $betreff, $message, $from);

}

mysql_close($link);

}

else

{

echo 'Keine Termine vorhanden';

}

?>[/code]

termin.txt sieht so aus (nur ausschnitt);

Datum;Zeit;Ort;M;Veranstaltung;Bemerkung D;Z;T;T;T;t s;p;;s;p; 08-08-29:Mo;00:00;;;Geburtstag von Manuel; 08-10-29:Mi;20:15;DGH Udenhain;2;Punktspiel;Udenhain 2 - TTA Hesseldorf IV 08-10-30:Do;20:30;DGH Udenhain;1;Punktspiel;Udenhain 1 - TTV Somborn II

zusätzlich gibt es in der mysql tabelle wo die ganzen emails liegen auch das Feld Mannschaft (was in der termine.txt das feld M ist)
ich will nun folgendes erreichen das nur die jenigen die email bekommen die diese auch benötigen sprich

wenn in der termine.txt unter M eine 1 steht soll er in der mysql tabelle nur die emails auswählen die in der tabelle email in der spalte mannschaft eine 1 haben genau so möchte ich das auch für Mannschaft 2,
sollte in der termine.txt 1/2 oder gar nichts stehen sollen einfach alle Emailsadressen zum verschicken ausgewählt werden,

ist soetwas möglich btw kann mir jemand sagen was ich dazu in meinem script genau ändern muss damit es schaut an wen die emails geschickt werden können?

würde mich freuen wenn mir jemand helfen kann

mfg
paul

Hallo,

da du jetzt schon den 2. Thread aufgemacht hast mit einer Frage, die eigentlich jeder, der ein PHP-Anfängertutorial gelesen hat, beantworten kann, nehme ich an, dass du überhaupt kein PHP kannst :wink:

Aber hier die Antwort auf deine Frage:

[code]<?php

$line = fopen(“termine.txt”, “r”) or die(‘Konnte Termine nicht öffnen’);

$h=array();

$h2 = 0;

$u = 0;

$uhrzeit = array();

$ort = array();

$mannschaften = array();

$veranstaltung = array();

$bemerkung = array();

while (!feof($line))

{

$buffer = fgets ($line, 4096);

if ($h > 2)

{

    $termine_array[$h2] = explode(';', $buffer);

    $termine_array[$h2][0] = explode(':',$termine_array[$h2][0]);

    $h2++;

}

$h++;

}

fclose ($line);

$date = date(“y-m-d”, mktime(0, 0, 0, date(“m”), date(“d”)+3, date(“y”)));

for ($i = 0; $i < count($termine_array);$i++)

{

if ($date == $termine_array[$i][0][0]) {$h[$u]=$i;$u++;}

}

for ($i = 0;$i < count($h);$i++)

{

$termine_array[$h[$i]][0][0][2] = ‘.’;

$termine_array[$h[$i]][0][0][5] = ‘.’;

$h2 = $termine_array[$h[$i]][0][0][0];

$termine_array[$h[$i]][0][0][0] = $termine_array[$h[$i]][0][0][6];

$termine_array[$h[$i]][0][0][6] = $h2;

$h2 = $termine_array[$h[$i]][0][0][1];

$termine_array[$h[$i]][0][0][1] = $termine_array[$h[$i]][0][0][7];

$termine_array[$h[$i]][0][0][7] = $h2;

$termin = $termine_array[$h[$i]][0][1] . " den " . $termine_array[$h[$i]][0][0];

$uhrzeit[] = $termine_array[$h[$i]][1];

$ort[] = $termine_array[$h[$i]][2];

$mannschaften[] = $termine_array[$h[$i]][3];

$veranstaltung[] = trim($termine_array[$h[$i]][4]);

$bemerkung[] = trim(str_replace("||","\n",$termine_array[$h[$i]][5]));

}

if ( !empty($veranstaltung[0]) ) // Wenn Veranstalung nicht leer ist

{

$betreff = 'TTC 1974 Udenhain Termininformation für: ' . $termin;

$from = 'From: <ttc1974@xetu.de>';





$link = mysql_connect('localhost','xx','xx');

mysql_select_db('ttc1974');

$result = mysql_query("SELECT email from email");

while ($addy = mysql_fetch_object($result))

{
	$message = "Folgendes erwartet euch in 3 Tagen: \n\n\n ";

    for ($i = 0;$i < count($veranstaltung);$i++)
    {
    	// M der Veranstaltung auslesen. dazu sind alle durch ein Komma (,) getrennt.
    	$ms = explode($mannschaften[$i]);
    	// Prüfen, ob dieser Teilnehmer eine Mail braucht; dies ist der fall, wenn entweder das M des Termins leer ist, oder in dem Eintrag des Teilnehmers das gleiche steht, wie in M
    	if ($mannschaften[$i] == "" || in_array($addy['mannschaft'], $ms))
    	{
         	$message .= $termin . " um " . $uhrzeit[$i] . " in " . $ort[$i] . ". \n\n Veranstaltung: " . $veranstaltung[$i];


	         if ( !empty($bemerkung[$i]) )
	
	         {
	
	              $message = $message . ",\n\n Bemerkung: " . $bemerkung[$i];
	
	         }
	
	         $message = $message . "\n\n\n\n";
    	}

    }

    $message = $message . "\n\n\n Sollte es noch Änderungen geben wäre es nett jeden davon in Kenntnis zu setzen! \n\n\n Viel Spaß wünscht euch der TTC 1974 Udenhain e.V. bei eurer Veranstaltung! \n\n\n";

   mail($addy->usr_email, $betreff, $message, $from);

}

mysql_close($link);

}

else

{

echo 'Keine Termine vorhanden';

}

?>[/code]
Dies sollte funktionieren, wenn die Spalte in der Datenbank “mannschaft” heißt, und die Liste der Mannschaften im Termin mit Kommas getrennt wird, oder wenn dies an alle gehen soll, leer ist.
Also z.B. so:

Datum;Zeit;Ort;M;Veranstaltung;Bemerkung D;Z;T;T;T;t s;p;;s;p; 08-08-29:Mo;00:00;;;Geburtstag von Manuel; 08-10-29:Mi;20:15;DGH Udenhain;2;Punktspiel;Udenhain 2 - TTA Hesseldorf IV 08-10-30:Do;20:30;DGH Udenhain;1;Punktspiel;Udenhain 1 - TTV Somborn II 08-10-30:Do;20:30;DGH Udenhain;1,2;Punktspiel;Ein neuer Termin

MfG
Fabsch