Hallo!
Ich hab ein großes Problem. Ich hab mich schon doof gegooglt, aber nicht meinen Fehler gefunden.
ich möchte datensätze in eine csv-datei exportieren. wenn ich nun mir die datensätze ausgeben lasse, funzt es wunderbar. beim erstellen der csv-datei, wird die datei erstellt und die spaltennamen eingetragen, aber nicht die datensätze!
Die abfrage mit ausgabe.
nun das erstellen der csv
kann mir vielleicht irgendjemand sagen, warum ich die eigentlichen daten der Abfrage nicht in die csv exportiert bekomme??
vielen dank schon mal!
Ich hab ein großes Problem. Ich hab mich schon doof gegooglt, aber nicht meinen Fehler gefunden.
ich möchte datensätze in eine csv-datei exportieren. wenn ich nun mir die datensätze ausgeben lasse, funzt es wunderbar. beim erstellen der csv-datei, wird die datei erstellt und die spaltennamen eingetragen, aber nicht die datensätze!
Die abfrage mit ausgabe.
Code:
$sql_el="SELECT e.Name, e.Vorname, e.Strasse, e.Ort, e.PLZ, e.Hnr as Hausnr, Count(*) as Anzahl, f.CD_zus as Zusatz FROM el_daten_pers e INNER JOIN tech_daten t ON t.el_id= e.EID LEFT JOIN el_daten_fach f ON f.el_id=e.EID WHERE t.cd=0 GROUP BY t.el_id, e.Name"; $res_el= mysql_db_query("eltool", $sql_el); while($edaten= mysql_fetch_assoc($res_el)){ echo "<tr><td class='log_text'>".$edaten["Name"]."</td>"; echo "<td class='log_text'>".$edaten["Vorname"]."</td>"; echo "<td class='log_text'>".$edaten["Strasse"]."</td>"; echo "<td class='log_text'>".$edaten["Hausnr"]."</td>"; echo "<td class='log_text'>".$edaten["PLZ"]."</td>"; echo "<td class='log_text'>".$edaten["Ort"]."</td>"; $wieviele= $edaten["Anzahl"] + $edaten["Zusatz"]; echo "<td class='log_text'align='center'>".$wieviele."</td>"; }
Code:
$file_name= "C:tmp\data.csv"; $i=0; $felder=mysql_num_fields($res_el); $fp=fopen($file_name,"w+"); while ($i < mysql_num_fields($res_el)){ $feldnamen = mysql_field_name($res_el, $i); $i++; createCSV($fp, $feldnamen, ","); } while ($data = mysql_fetch_row($res_tech)){ fputCSV($fp, $data, ","); } fclose ($fp); function createCSV ($fp, $val2, $deliminator=",") { $line2 = ""; { $val2 = str_replace("\r\n", "\n", $val2); $line2 .= $val2.$deliminator; } return fputs($fp, $line2); $line2 .= "\n"; } function fputCSV ($fp, $array, $deliminator=",") { $line = ""; foreach($array as $val) { $val = str_replace("\r\n", "\n", $val); if(ereg("[$deliminator\"\n\r]", $val)) { $val = '"'.str_replace('"', '""', $val).'"'; } $line .= $val.$deliminator; } $line = substr($line, 0, (strlen($deliminator) * -1)); $line .= "\n"; return fputs($fp, $line); }
vielen dank schon mal!
Kommentar