Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

PHP: Formularinhalt in Datei/Datenbank speichern

Empfohlene Antworten

OS auf Server:

Windows:

$txt .= $zeile["ID"].";";

$txt .= $zeile["kdnr"].";";

$txt .= $zeile["eintragsdatum"].";\r\n";

Linux:

$txt .= $zeile["ID"].";";

$txt .= $zeile["kdnr"].";";

$txt .= $zeile["eintragsdatum"].";\n";

mit diesem code bekommst du eine Strichpunkt getrennte datei.

wäre also sinnvoll diese nicht als .txt sondern als .csv zu speichern!

diese eignet sich auch dann später gut dafür um den inhalt in eine db zu importieren.

  • Autor

Zum Thema CSV-Datei habe ich auch noch eine Frage:

Wie kann man diese ordentlich formatieren ? Also schön mit Überschriften (ID, Kundennummer, Eintragsdatum) und darunter dann die Daten.

Jetzt sieht das ja nicht so toll aus: 137;5854;2003-08-21

So soll das in Excel aussehen:

ID Kundennummer Eintragsdatum

137 5854 2003-08-21

........

Wenn Du damit meinst, Du willst die Überschriften in den tatsächlichen Spaltenüberschriften haben, wirst Du AFAIK mit csv-Dateien keine Möglichkeit haben, dass zu machen.

Wenn Du sie nur als Überschrift in der ersten Zellenzeile haben willst, dann erstellst Du als erste Zeile in Deiner Datei den Eintrag ID;BLa;blubb;

Peter

Original geschrieben von kingofbrain

Wenn Du damit meinst, Du willst die Überschriften in den tatsächlichen Spaltenüberschriften haben, wirst Du AFAIK mit csv-Dateien keine Möglichkeit haben, dass zu machen.

Wenn Du sie nur als Überschrift in der ersten Zellenzeile haben willst, dann erstellst Du als erste Zeile in Deiner Datei den Eintrag ID;BLa;blubb;

Peter

ja was excel angeht ist das so richtig.

aber wenn du die csv in access importiert kannst du den ersten datensatz als Spaltenüberschrifen nutzen.

Viele Grüße

kills

Original geschrieben von user103109

Naja, wenn ich weiter wüsste, würde ich wohl kaum hier was posten, oder ?

Habe ja geschrieben, dass ich da noch Anfänger bin und das erst seit 3 Tagen mache..

Also die Echo Ausgabe ist einwandfrei im Browser. Alle Einträge sind schön untereinander wie es sein soll. Aber die TXT-Datei will nicht so recht. Es muss also an folgenden Teil liegen:

$txt .= $zeile["ID"]." ";

$txt .= $zeile["kdnr"]." ";

$txt .= $zeile["eintragsdatum"]."<br>";

Wie Ihr seht (oder auch nicht ;)), habe ich auch schon mal mit nbsp probiert, aber trotzdem schreibt er alles hintereinander. Das <br> wird ebenfalls in Word (und Editor) angezeigt.

nochmal ne kurze erklärung dazu.

die <br> werden dir in allen editoren angezeigt weil dies ein html tag ist.

dieses <br> wird nur von browsern als ein zeilenumbruch interpretiert.

word, ms-editor, usw. benutzen, wie schon oben oftmals genannt \r\n (weil windows) und unter linux musst du deine textdateien dann halt mit \n deine zeilenumbrüche "erzeugen". verständlich?

Also in html im browser <br> = in word (windows) \r\n = (unix) \n

  • Autor

Ok, ich lass' das jetzt mit der Formatierung und möchte stattdessen in der ersten Zelle von Excel den Eintrag ID;Kundennummer;Eintragsdatum stehen haben. Dazu habe o.g. Tip befolgt (von Hand die erste Zeile einfügen).

Allerdings wird diese Zeile automatisch wieder überschrieben, wenn ich einen neuen Eintrag machen möchte.

Ich vermute, dass es an der verwendeten Schleife liegt:

while($zeile=mysql_fetch_array($result)){

$txt .= $zeile["ID"].";";

$txt .= $zeile["kdnr"].";";

$txt .= $zeile["eintragsdatum"].";\r\n";

}

Hier wird wohl einfach die Zelle A1 überschrieben. Dann habe ich probiert, den Text in einer Variablen zu speichern: $ueberschrift = "ID;Kundennummer;Eintragsdatum";

Problem: Wenn ich jetzt diesen Text in meine CSV Datei ganz oben haben will, muss ich doch bei folgenden Part diesen Variable einfügen, oder :

$filepointer = fopen("positivliste.csv","w");

fwrite($filepointer,$txt, $ueberschrift); <---- hier zusätzlich $ueberschrift

fclose($filepointer);

Aber dann ist die Datei leer. Ich habe es bisher nur geschafft, die Variable innerhalb der Schleife einzufügen. Dann jedoch bekomme ich die Zeile "ID,Kundennummer, Eintragsdatum" jedoch genauso oft angezeigt wie die eigentlichen Datensätze (klar, weil er mehrmals durchläuft)

Was mache ich da noch falsch ?

Initialisier halt Deine Variable $txt mit "ID,Kundennummer, Eintragsdatum" und beginne dann die Schleife, in der die Werte an den String gehängt werden.

Nach der Schleife schreibst Du, und fertig.

Peter

Original geschrieben von user103109

Ok, ich lass' das jetzt mit der Formatierung und möchte stattdessen in der ersten Zelle von Excel den Eintrag ID;Kundennummer;Eintragsdatum stehen haben. Dazu habe o.g. Tip befolgt (von Hand die erste Zeile einfügen).

Allerdings wird diese Zeile automatisch wieder überschrieben, wenn ich einen neuen Eintrag machen möchte.

in einer Variablen zu speichern:


$ueberschrift = "ID;Kundennummer;Eintragsdatum\r\n";

$filepointer = fopen("positivliste.csv","w");
fwrite($filepointer,$ueberschrift.$txt); <---- hier zusätzlich $ueberschrift
fclose($filepointer);
[/PHP]

Gruß

kills

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.