Mit PHP in CSV schreiben
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
beschreibung
code
datei
dokumentation
erscheinungsjahr
erstellen
file
formular
header
http
leeren code
manual
spalte
sprache
url
verlag
versandkosten
vorteil
zeile
zustand
-
Hallo,
ich möchte mit einem PHP Script eingegebene Daten aus einem Formular in eine CSV Datei schreiben.
Im Script soll es eine Funktion geben, mit der ich die CSV leeren kann, außer die oberste Zeile (da stehen die Überschriften).
Wie mache ich das am besten?
Ich habe schon viel im Internet gesucht, aber ich weiß noch nicht, wie ich das genau realisieren soll. Ich finde nur Scripte, mit denen ich in eine bestehende CSS schreiben kann. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Du weißt wie CSV aufgebaut ist: wert;"wert mit ;";bla
In die Datei schreibst du so:
Um die Datei zu leeren:// $file = zum schreiben geöffnete Datei // $value1 = Spalte 1 // $value2 = Spalte 2 fputs($file, "\"$value1\";\"$value2\"");
$file = fopen('datei.txt', 'rt'); $header = fgets($file); fclose($file); $file = fopen('datei.txt', 'wt'); fputs($file, $header); fclose($file);
Ein Codebeispiel (Formular) von dir wäre natürlich von Vorteil... -
hackyourlife schrieb:
Du weißt wie CSV aufgebaut ist: wert;"wert mit ;";bla
In die Datei schreibst du so:
Um die Datei zu leeren:// $file = zum schreiben geöffnete Datei // $value1 = Spalte 1 // $value2 = Spalte 2 fputs($file, "\"$value1\";\"$value2\"");
$file = fopen('datei.txt', 'rt'); $header = fgets($file); fclose($file); $file = fopen('datei.txt', 'wt'); fputs($file, $header); fclose($file);
Ein Codebeispiel (Formular) von dir wäre natürlich von Vorteil...
Ich poste hier mal mein Formular:
<html> <head> <title>Formular</title> <link href="style.css" rel="stylesheet" type="text/css"> </head> <body> <table width="850px"> <tr> <td> <form method="post" action="index.php"> <table border="0"> <tr> <td width="29%">Buchautor:</td> <td width="71%"><input type="text" name="autor" size="72" style="width: 600px;" /></td> </tr> <tr> <td width="29%">Buchtitel:</td> <td width="71%"><input type="text" name="titel" size="72" style="width: 600px;" /></td> </tr> <tr> <td width="29%" valign="top">Buchbeschreibung:</td> <td width="71%"><textarea rows="17" name="beschreibung" cols="62" style="width: 600px;"></textarea></td> </tr> <tr> <td width="29%">Bildurl:</td> <td width="71%"><input type="text" name="bildurl" size="72" style="width: 600px;" /></td> </tr> <tr> <td width="29%">Zustand:</td> <td width="71%"><input type="text" name="zustand" size="72" style="width: 600px;" /></td> </tr> <tr> <td width="29%">Versandkosten:</td> <td width="71%"> <input type="radio" name="versandkosten" value="1,00" />1,00 € <input type="radio" name="versandkosten" value="1,20" />1,20 € <input type="radio" name="versandkosten" value="2,00" />2,00 € <input type="radio" name="versandkosten" value="4,00" />4,00 € <input type="radio" name="versandkosten" value="4,20" />4,20 € <input type="radio" name="versandkosten" value="4,50" />4,50 € <input type="radio" name="versandkosten" value="6,50" />6,50 € </td> </tr> <tr> <td width="29%">Versandart:</td> <td width="71%"> <input type="radio" name="versandart" value="Büchersendung" />Büchersendung <input type="radio" name="versandart" value="Brief" />Brief <input type="radio" name="versandart" value="DHL Päckchen" />DHL Päckchen <input type="radio" name="versandart" value="Hermes Päckchen" />Hermes Päckchen </td> </tr> <tr> <td><b>Optionale Angaben:</b></td> </tr> <tr> <td width="29%">ISBN:</td> <td width="71%"><input type="text" name="isbn" size="72" style="width: 600px;" /></td> </tr> <tr> <td width="29%">Verlag:</td> <td width="71%"><input type="text" name="verlag" size="72" style="width: 600px;" /></td> </tr> <tr> <td width="29%">Erscheinungsjahr:</td> <td width="71%"><input type="text" name="erscheinungsjahr" size="72" style="width: 600px;" /></td> </tr> <tr> <td width="29%">Sprache:</td> <td width="71%"><input type="text" name="sprache" size="72" style="width: 600px;" /></td> </tr> </table> <br /> <input type="submit" name="submit" value="Absenden" /> </form> </td> </tr> </table> <?php $autor = $_POST['autor']; $titel = $_POST['titel']; $bildurl = $_POST['bildurl']; $beschreibung = $_POST['beschreibung']; $isbn = $_POST['isbn']; $verlag = $_POST['verlag']; $erscheinungsjahr = $_POST['erscheinungsjahr']; $sprache = $_POST['sprache']; $zustand = $_POST['zustand']; $versandkosten = $_POST['versandkosten']; $versandart = $_POST['versandart']; ?> </body> </html>
Das Problem ist, dass in der CSV Datei die erste Zeile schon ausgefüllt werden soll beim Erstellen, und auch immer wieder geleert werden kann (bis auf die 1. Zeile)
Wie kann ich das realisieren?
EDIT: Also, ich bräuchte eine Lösung, wie ich in die CSV Datei beim Erstellen schon den Inhalt der 1 Reihe schreiben kann.
Beitrag zuletzt geändert: 27.1.2012 22:57:59 von php-oop -
Die Entwickler von php haben da für dich mal was vorbereitet (Erklärungen und Anwendungsbeispiele findest Du beim Lesen der verlinkten Dokumentation.):
fgetcsv(), fputcsv()
Kleinigkeiten wie das lesen und schreiben einer bestimmten Zeile finden sich dort spätestens, wenn Du den Querverweisen folgst.
Beitrag zuletzt geändert: 28.1.2012 0:26:27 von fatfreddy -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage