ich möchte eine CSV Datei aus meiner Mysql Datenbank erstellen lassen.
Leider habe ich im Netz nichts darüber gefunden. Nur wie man eine TXT Datei erstellt. Das klappt auch. Nur leider schlecht als recht.
Die Datenbank enthält Textfelder mit Zeilenumbrüchen. Diese sollte natürlich nach dem Auslesen der CSV auch wieder richtig dargestellt werden.
Es sollte schon über PHP laufen. Der „select into outfile“ Befehl läuft bei mir nicht.
Die Datei muss täglich erstellt werden. Da ist es sehr umständlich alles per MyAdmin erstellen zu lassen. Und was mache ich, wenn ich mal im Urlaub,… bin?
Würde die Herstellungsdatei bei cronjob erstellen lassen. So habe ich mir das jedenfalls vorgestellt.
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Die Datei muss täglich erstellt werden. Da ist es sehr
umständlich alles per MyAdmin erstellen zu lassen. Und was
mache ich, wenn ich mal im Urlaub,… bin?
Würde die Herstellungsdatei bei cronjob erstellen lassen. So
habe ich mir das jedenfalls vorgestellt.
Schreib doch einfach ein Skript das genau diese Funktion von
PHPMyAdmin nutzt. Schau dir das Formular an, was wird wie aufgerufen,
welche Variablen werden gebraucht, das sollte doch gehen. Als
Dateiname nimmst du die aktuelle Zeit.
Ganz dumme Frage: mysqldump hast du da nicht zufällig, dann kannst du dir das Programmieren sparen, sofern mysqld auf der selben Maschine läuft. Mit -T bekommst du da auch CSV raus.
Ansonten schau in die build_dump.lib.php im Libraries Verzeichnis von phpMyAdmin, wie phpMyAdmin die CSV-Datei baut. So kompliziert ist das ja nun auch nicht, in jedem Feld " durch „“ zu ersetzen und das ganze dann mit implode zusammenzusetzen zu einer Zeile:
(ungetestet)
Warum machst du das nicht einfach mit PHPMyAdmin? Hast du die
Zeilenumbrüche in /n umgewandelt?
gruss Jan
Die Datei muss täglich erstellt werden. Da ist es sehr
umständlich alles per MyAdmin erstellen zu lassen. Und was
mache ich, wenn ich mal im Urlaub,… bin?
Würde die Herstellungsdatei bei cronjob erstellen lassen. So
habe ich mir das jedenfalls vorgestellt.
Ganz dumme Frage: mysqldump hast du da nicht zufällig, dann
kannst du dir das Programmieren sparen, sofern mysqld auf der
selben Maschine läuft. Mit -T bekommst du da auch CSV raus.
Kann man mit mysqldump auch bestimmte Felder einer Tabelle exportieren?
Ansonten schau in die build_dump.lib.php im Libraries
Verzeichnis von phpMyAdmin, wie phpMyAdmin die CSV-Datei baut.
So kompliziert ist das ja nun auch nicht, in jedem Feld "
durch „“ zu ersetzen und das ganze dann mit implode
zusammenzusetzen zu einer Zeile:
(ungetestet)
Die build_dump.lib.php habe ich nach ein wenig suchen auch gefunden. Habe mir dann was zusammengebaut, was mir eine Datei auswirft. Habe zwar nicht alles verstanden, was ich gemacht hat, aber ein wenig Glück braucht man auch.
Ich werde mir dein Code aber nochmal durchschauen. Da kann ich sicherlich noch was lernen.
Warum machst du das nicht einfach mit PHPMyAdmin? Hast du die
Zeilenumbrüche in /n umgewandelt?
gruss Jan
Die Datei muss täglich erstellt werden. Da ist es sehr
umständlich alles per MyAdmin erstellen zu lassen. Und was
mache ich, wenn ich mal im Urlaub,… bin?
Würde die Herstellungsdatei bei cronjob erstellen lassen. So
habe ich mir das jedenfalls vorgestellt.
Ganz dumme Frage: mysqldump hast du da nicht zufällig, dann
kannst du dir das Programmieren sparen, sofern mysqld auf der
selben Maschine läuft. Mit -T bekommst du da auch CSV raus.
Kann man mit mysqldump auch bestimmte Felder einer Tabelle
exportieren?
Nein, leider nicht, nur die WHERE - Bedingungen kann man angeben, aber es werden immer alle Spalten exportiert.