kostenloser Webspace werbefrei: lima-city


Mit PHP in CSV schreiben

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    php-oop

    php-oop hat kostenlosen Webspace.

    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.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Du weißt wie CSV aufgebaut ist: wert;"wert mit ;";bla
    In die Datei schreibst du so:
    // $file = zum schreiben geöffnete Datei
    // $value1 = Spalte 1
    // $value2 = Spalte 2
    fputs($file, "\"$value1\";\"$value2\"");
    Um die Datei zu leeren:
    $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...
  4. Autor dieses Themas

    php-oop

    php-oop hat kostenlosen Webspace.

    hackyourlife schrieb:
    Du weißt wie CSV aufgebaut ist: wert;"wert mit ;";bla
    In die Datei schreibst du so:
    // $file = zum schreiben geöffnete Datei
    // $value1 = Spalte 1
    // $value2 = Spalte 2
    fputs($file, "\"$value1\";\"$value2\"");
    Um die Datei zu leeren:
    $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 &euro;
    			<input type="radio" name="versandkosten" value="1,20" />1,20 &euro;
    			<input type="radio" name="versandkosten" value="2,00" />2,00 &euro;
    			<input type="radio" name="versandkosten" value="4,00" />4,00 &euro;
    			<input type="radio" name="versandkosten" value="4,20" />4,20 &euro;
    			<input type="radio" name="versandkosten" value="4,50" />4,50 &euro;
    			<input type="radio" name="versandkosten" value="6,50" />6,50 &euro;
    		</td>
    	</tr>
    	<tr>
    		<td width="29%">Versandart:</td>
    		<td width="71%">
    			<input type="radio" name="versandart" value="B&uuml;chersendung" />B&uuml;chersendung
    			<input type="radio" name="versandart" value="Brief" />Brief
    			<input type="radio" name="versandart" value="DHL P&auml;ckchen" />DHL P&auml;ckchen
    			<input type="radio" name="versandart" value="Hermes P&auml;ckchen" />Hermes P&auml;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
  5. 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
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!