csv-Export ****t nicht richtig

Kalito

Erfahrenes Mitglied
hallo,

um mein Problem zu erklären, muss ich kurz ausholen :)

Ich habe eine Index.php, die quasi die Seiten verwaltet. Die einzelnen Seiten ruf ich dann mit index.php?site=2 auf oder so. in der index.php sind alle statischen Elemente, wie Header, Menü, footer und in einem kleinen Teil werden die einzelnen Seiten includiert.

Nun zum Hauptproblem.

Ich möchte gerne Daten aus der DB exportieren.

Dabei hab ich folgendes Script benutzt:
PHP:
$Table = DB_TABLE_M;

header('Content-Type: text/x-csv');
header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Content-Disposition: attachment; filename=download.csv');
header('Pragma: no-cache');


$ResultPointer = mysql_query("SELECT MID, vorname, nachname FROM $Table" ,$verbindung);

for($i = 0, $Export = ""; $i < mysql_num_rows($ResultPointer); $i++)
{
    $Daten = mysql_fetch_object($ResultPointer);

    $Spalte[] = str_replace("\"", "\"\"", $Daten->MID);
    $Spalte[] = str_replace("\"", "\"\"", $Daten->vorname);
    $Spalte[] = str_replace("\"", "\"\"", $Daten->nachname);

    for($j = 0; $j < count($Spalte); $j++)
    {
        $Export .= "\"" . $Spalte[$j] . "\"";

        if($j != count($Spalte)-1)
        {
            $Export .= ";";
        }
    }
    $Export .= "\r\n";
    $Spalte = "";
}

echo$Export;

Wenn ich es jetzt aber ausführe, dann wird in die Datei auch als Download angeboten, wenn ich aber diese öffne, sehe ich nur den Quellcode meiner index.php! Nehme ich aber den header-Teil raus, klappt alles wunderbar und die Ergebnisse werden angezeigt, aber halt nicht als csv.exportiert :(

Habt ihr eine Idee?
 
Du schreibst ja selber das es für den aufruf der "Exportseite" einen Link in der Form gibt:

HTML:
<a href="index.php?site=2">Export</a>

Ändere diesen doch einfach so das du direkt auf die "Seite 2" zugreifst und das in einem separaten Fenster:

HTML:
<a href="export.php" target="_blank">Export</a>
 
Zurück