MSSQL-Ausgabe exportieren in csv

Das soll jetzt keine Provokation sein, aber hast du vorher schon jemals was mit PHP oder HTML etc. gemacht?
Also
msycho hat gesagt.:
PHP:
echo "<td class=\"headline2\" width=\"10%\">" . $name9 . "<input type=\"hidden\" name=\"spalte" . $j . "[]\" value=\"". $name9 . "\n" . "\" /></td>";
Also einfach "\n" dranhängen mit dem "." Operator von PHP. Solltest du vorhaben noch mehr oder weitere Projekte mit PHP zu machen, empfehle ich dir mal die Grundsätze zu lernen und ausserdem das Umgehen mit der Funktionen-Referenz auf php.net. Das wirst du brauchen.
msycho hat gesagt.:
Nebenbei, besteht die Möglichkeit Strings in der Exportdatei formatiert, z.B. fett, darzustellen, bitte
IMHO nicht, da es ja bspw. nicht möglich ist in Notepad einzelne Chars zu formatieren. Das einzige was mir einfällt (da du ja die Dateien mit Excel öffnest, wenn ich es richtig in Erinnerung habe), dass du dir ein kleines VBA-Makro schreibst, das die Dateien dieser Form entsprechend formatiert anzeigt.

Tante Edit(h) hat Fehler gefunden ;)
 
Zuletzt bearbeitet:
Ich wusste schon wie und wo, nur nachdem ich keine Änderung festgestellt habe, spriche den gewollten Zeilenumbruch an besagter Stelle, dachte ich, ich hätte vllt. etwas falsch gemacht. :)
Da Du nun aber auch das geschrieben hast, was ich bereits versucht habe, es aber nicht funktioniert, weiss ich wirklich nicht mehr weiter.
 
Wenn ich mir deine Ausgabe anschaue
PHP:
if(isset($_POST['make_csv'])) {
  $handle = fopen("./dataexport.csv","w");
  $j=0;
   while (!empty($_POST['spalte'.$j])) {
    $anzahl = count($_POST['spalte'.$j]);
    $print = implode(";", $_POST['spalte'.$j]) . "\r";
    fwrite($handle,$print . "\r");
    $j++;
   }
  fclose($handle);
}
seh ich grad nicht, wo du diese Zeile ausgibst...
Magst du mir mal die Ausgabe (in Datei) im Quellcode von dieser Zeile posten? Danke!
 
Ähm, wieso muss ich denn was an dem Code der Ausgabe ändern? Ich habe doch bei der einen HTML-Spalte der ersten HTML-Zeile ein hidden Zeilenumbruch gesetzt.

Ich hoffe ich habe Dich richtig verstanden was den Quellcode betrifft, den Du haben möchtest:

PHP:
// Ausgabe der ersten HTML-Zeile
echo "<table cellspacing=\"0\" cellpadding=\"0\" align=\"center\" class=\"tableouter2\">";
echo "<tr>";
echo "<td class=\"headline2\" width=\"15%\">" . $name1 . "<input type=\"hidden\" name=\"spalte" . $j . "[]\" value=\"". $name1. "\" /></td>";
echo "<td class=\"headline2\" width=\"15%\">" . $name2 . "<input type=\"hidden\" name=\"spalte" . $j . "[]\" value=\"". $name2. "\" /></td>";
echo "<td class=\"headline2\" width=\"10%\">" . $name3 . "<input type=\"hidden\" name=\"spalte" . $j . "[]\" value=\"". $name3. "\" /></td>";
echo "<td class=\"headline2\" width=\"10%\">" . $name4 . "<input type=\"hidden\" name=\"spalte" . $j . "[]\" value=\"". $name4. "\" /></td>";
echo "<td class=\"headline2\" width=\"10%\">" . $name5 . "<input type=\"hidden\" name=\"spalte" . $j . "[]\" value=\"". $name5. "\" /></td>";
echo "<td class=\"headline2\" width=\"10%\">" . $name6 . "<input type=\"hidden\" name=\"spalte" . $j . "[]\" value=\"". $name6. "\" /></td>";
echo "<td class=\"headline2\" width=\"10%\">" . $name7 . "<input type=\"hidden\" name=\"spalte" . $j . "[]\" value=\"". $name7. "\" /></td>";
echo "<td class=\"headline2\" width=\"10%\">" . $name8 . "<input type=\"hidden\" name=\"spalte" . $j . "[]\" value=\"". $name8. "\" /></td>";
echo "<td class=\"headline2\" width=\"10%\">" . $name9 . "<input type=\"hidden\" name=\"spalte" . $j . "[]\" value=\"". $name9 . "\n" . "\" /></td>"; 
echo "</tr>";
 
Ich übergebe den Dateinamen jetzt über ein Inputfeld:

PHP:
$exportdatei = $_POST['dateiname'];

if(isset($_POST['make_csv'])) {
  $handle = fopen("./$exportdatei.csv","w");
  $j=0;
   while (!empty($_POST['spalte'.$j])) {
    $anzahl = count($_POST['spalte'.$j]);
    $print = implode(";", $_POST['spalte'.$j]) . "\r";
    fwrite($handle,$print);
    $j++;
   }
  fclose($handle);
}
 
PHP:
$exportdatei = $_POST['dateiname'];

if(isset($_POST['make_csv'])) {
  $handle = fopen("./$exportdatei.csv","w");
  $j=0;
   while (!empty($_POST['spalte'.$j])) {
    $anzahl = count($_POST['spalte'.$j]);
    $print = implode(";", $_POST['spalte'.$j]) . "\r";
    
    if($j == 0)
    {
      $print = $print."\n";
   }
   

    fwrite($handle,$print);
    $j++;
   }
  fclose($handle);
}
Davon ausgehend, dass die beschriebene Zeile die 1. ist und dass die Indizierung der einzelenen Zeilen mit 0 beginnt.
 
Ich hab´s, das gleiche Problem wie damals schon: Du musst natürlich nach der Erstellung der ersten Zeile $j auch hochzählen!
 
Zurück