Hallo,
ich bin mittlerweile total am verzweifeln. Sitze seit 2 tagen an dem Problem und komme einfach nicht weiter. Hoffentlich kann mir jemand von euch hier helfen. Das wäre super.
Also, es geht um ein Skript, welches Daten aus einer Mysql-DB liest und diese anschließen an eine Text-Datei anhängt. Diese Text-Datei soll dann in Outlook importiert werden und so soll dann auf diese Kontaktdaten zugegriffen werden. Die Textdatei an die die Daten angehänt werden sieht so aus :
Da ich hier nicht so viel Inhalt posten kann. Schreibe ich hier mal den Link, wo ihr euch die Datei anschauen könnt :
http://www.fkm-lued.de/kontakte.TXT
Diese ist durch Tabulatoren getrennt und kann in Outlook über Datei -> Importieren / Exportieren -> Importieren aus anderen Programmn oder Dateien ->Tabulartorgetrennte Werte (Windows) importiert werden. Das eigentliche Skript hängt die daten getrennt durch Tabulartoren an diese Textdatei an. Das Skript sieht so aus :
$sql = "SELECT Vorname, Nachname, Firma, Strasse, PLZ, Ort, Telefon, Fax, Email FROM anmeldungen";
$result=mysql_query($sql,$db) or die ("Abfrage $sql konnte nicht ausgeführt werden");
while($row=mysql_fetch_array($result)) {
$vornamea[] = $row["Vorname"];
$nachnamea[] = $row["Nachname"];
$firmaa[] = $row["Firma"];
$strassea[] = $row["Strasse"];
$plza[] = $row["PLZ"];
$orta[] = $row["Ort"];
$telefona[] = $row["Telefon"];
$faxa[] = $row["Fax"];
$emaila[] = $row["Email"];
}
$datei = fopen("kontakte.TXT", "a+");
if ($datei)
{
for ($i=0; $i<count($nachnamea) ; $i++)
{
echo "Datei geöffnet";
fputs($datei, "\t $vornamea[$i] \t\t $nachnamea[$i] \t\t $firmaa[$i] \t\t Student\t $strassea[$i] ");
fputs($datei, "\t\t\t $orta[$i] \tNRW\t $plza[$i] \tDeutschland");
fputs($datei, "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tFaxGeschaeftlich Nummer\tGeschaeftliche TelNummer\t\t\t\t");
fputs($datei, "\t\t $telefona[$i] \t\t\t01726674373\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t "$emaila[$i]" \tSMTP\tE-Mail-Adresse");
fputs($datei, "\t\t\t\t\t\t\t\t0.0.00\tKategorierrr\t\t\t\t0.0.00\tKategorieee\t\t\t\t\t"Bemerkungennn"\t\t\t");
fputs($datei, "\t\t\tNiedrig\t\t\t\t\t\tNormal\t\twwAdresse \n");
}
}
fclose($datei);
Diese erzeugt eine Textdatei, die so aussieht :
http://www.fkm-lued.de/kontaktegeht.TXT
Diese Textdatei kann von Outlook korrekt importiert werden. Nun ist das Problem das ich mein DB-Design geändert habe und das Skript bei der neuen DB keine Korrekte Text-Datei mehr erzeugt. Ich habe die Aufrufe zum schreiben der Datei 1:1 von dem anderen Skript kopiert. Das neue Skript sieht so aus :
$sql = "SELECT p.Vorname, p.Nachname, p.Firma, f.Firmenstrasse, f.Firmenplz, f.Firmenort, p.Telefon, p.Fax, p.Email ";
$sql .= "FROM person p, firmen f WHERE p.Firma = f.Firmenname";
$result=mysql_query($sql,$db) or die ("Abfrage $sql konnte nicht ausgeführt werden");
while($row=mysql_fetch_row($result)) {
$vornamea[] = $row[0];
$nachnamea[] = $row[1];
$firmaa[] = $row[2];
$strassea[] = $row[3];
$plza[] = $row[4];
$orta[] = $row[5];
$telefona[] = $row[6];
$faxa[] = $row[7];
$emaila[] = $row[8];
}
$datei = fopen("kontakte.TXT", "a+");
if ($datei)
{
for ($i=0; $i<count($nachnamea) ; $i++)
{
echo "Datei geöffnet";
fputs($datei, "\t $vornamea[$i] \t\t $nachnamea[$i] \t\t $firmaa[$i] \t\t Student\t $strassea[$i] ");
fputs($datei, "\t\t\t $orta[$i] \tNRW\t $plza[$i] \tDeutschland");
fputs($datei, "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tFaxGeschaeftlich Nummer\tGeschaeftliche TelNummer\t\t\t\t");
fputs($datei, "\t\t $telefona[$i] \t\t\t01726674373\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t "$emaila[$i]" \tSMTP\tE-Mail-Adresse");
fputs($datei, "\t\t\t\t\t\t\t\t0.0.00\tKategorierrr\t\t\t\t0.0.00\tKategorieee\t\t\t\t\t"Bemerkungennn"\t\t\t");
fputs($datei, "\t\t\tNiedrig\t\t\t\t\t\tNormal\t\twwAdresse \n");
}
}
fclose($datei);
Prinzipielle ist das einzige was geändert wurde die SQL-Abfrage. Die Arrays sind alle gefüllt das habe ich durch die Debug-Ausgaben herausgefunden. Die Textdatei, die von diesem Skript erzeugt wird sieht so aus :
http://www.fkm-lued.de/kontaktegehtnicht.TXT
Und kann nicht von Outlook importiert werden. Das interessante ist, wenn ich in diesem Skript den letzten Datensatz nicht in die Textdatei schreibe, so kann Outlook die Datei korrekt importieren. Also, muss es an der Schleife liegen. Aber ich finde keinen Fehler. Bitte bitte helft mir! Wo liegt der Fehler ???
Tausend Dank
MFG xss