Hi an alle!
Ich hab folgendes Prob: Ich möchte eine MySQL-DB per Link (auf PHP-Script) exportieren, so dass es a) im CSV vorliegt und b) zum Download gesetzt wird, damit die DB offline angesehen werden kann.
Die DB hat zwei Spalten (Beschreibung, Lösung). Die Felder sind "Mediumtext" formatiert. In beiden Feldern können HTML-Tags und "," (ohne "") eingetragen werden / sind eingetragen.
Wenn ich diese exportieren (Script unten), arbeitet das Script die DB ab und schiebt sie als CSV raus. Schaue ich sie mir dann in XLS an, haut die Formatierung nicht hin. Die Inhalte der Spalten sind teils über mehrer Zeilen versetzt - also nicht wie gewünscht pro DB-Eintrag untereinander.
Script:
$feldzahl = mysql_num_fields($abfrage);
for($i = 0; $i < $feldzahl; $i++) {
$feldart = mysql_fetch_field($abfrage, $i);
echo "$feldart->name [$feldart->type]";
if ($i < ($feldzahl-1))
echo "\t";
else
echo "\n";
}
while ($myrow = mysql_fetch_array($abfrage)) {
for($i = 0; $i < $feldzahl; $i++) {
$feldname = mysql_field_name($abfrage, $i);
if ($i < ($feldzahl-1)) echo $myrow[$feldname] . "\t";
else echo $myrow[$feldname] . "\n";
}
}
Bin etwas ratlos - hoffe auf Tips.
Grüsse, Jörn
Ich hab folgendes Prob: Ich möchte eine MySQL-DB per Link (auf PHP-Script) exportieren, so dass es a) im CSV vorliegt und b) zum Download gesetzt wird, damit die DB offline angesehen werden kann.
Die DB hat zwei Spalten (Beschreibung, Lösung). Die Felder sind "Mediumtext" formatiert. In beiden Feldern können HTML-Tags und "," (ohne "") eingetragen werden / sind eingetragen.
Wenn ich diese exportieren (Script unten), arbeitet das Script die DB ab und schiebt sie als CSV raus. Schaue ich sie mir dann in XLS an, haut die Formatierung nicht hin. Die Inhalte der Spalten sind teils über mehrer Zeilen versetzt - also nicht wie gewünscht pro DB-Eintrag untereinander.
Script:
$feldzahl = mysql_num_fields($abfrage);
for($i = 0; $i < $feldzahl; $i++) {
$feldart = mysql_fetch_field($abfrage, $i);
echo "$feldart->name [$feldart->type]";
if ($i < ($feldzahl-1))
echo "\t";
else
echo "\n";
}
while ($myrow = mysql_fetch_array($abfrage)) {
for($i = 0; $i < $feldzahl; $i++) {
$feldname = mysql_field_name($abfrage, $i);
if ($i < ($feldzahl-1)) echo $myrow[$feldname] . "\t";
else echo $myrow[$feldname] . "\n";
}
}
Bin etwas ratlos - hoffe auf Tips.
Grüsse, Jörn
Kommentar