Ankündigung

Einklappen
Keine Ankündigung bisher.

csv eintrag erzeugt ?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • csv eintrag erzeugt ?

    Hallo liebe Leute,

    ich habe ein Problem mit der Erstellung einer csv. Die Daten werden übertragen, doch es wird bei jedem Datensatz ein ? erzeugt. Ich habe keine Ahnung warum oder wie ich es abstellen kann.
    PHP-Code:

    //Datensatz erstellen
    $datensatz $startnr;
    $datensatz.=$trenner;
    $datensatz.=$transpondervergabe;
    $datensatz.=$trenner;
    $datensatz.= $vorname;
    $datensatz.= $trenner;
    $datensatz.=$name;
    $datensatz.=$trenner;
    $datensatz.= $Jahrgang;
    $datensatz.=$trenner;
    $datensatz.= $AK;
    $datensatz.=$trenner;
    $datensatz.= $land;
    $datensatz.=$trenner;
    $datensatz.=$ort;
    $datensatz.=$trenner;
    $datensatz.= $verein;
    $datensatz.=$trenner;
    $datensatz.=$email;
    $datensatz.=$trenner;
    $datensatz.=$lizenz;
    $datensatz.=$trenner;
    $datensatz.=$Zahlart;
    $datensatz.=$trenner;
    $datensatz.=$gebuehr;
    $datensatz.="\n";

    $handlefopen ($filename,"a+");
     
    fwrite($handlechr(255) . chr(254) . mb_convert_encoding$datensatz'UTF-16LE','UTF-8')) ;

    fclose ($handle); 
    Die csv soll später für den Kunden gleich beim Anklicken mit Excel öffnen. Das funktioniert auch alles wenn ich das Fragezeichen manuell entferne.
    Hier mal der Datensatz, der unter Position 10 den Originaleintrag hat.
    [MAN]SNR;Transponder;Vorname;Name;Jahrgang;Klasse;Land; Ort;Verein;Email;Lizenz;Zahlart;zuzahlen
    1;1;Lisa;Muster;1988;Frauen;BEL;Ülmen;;olaf_nagel@ t-online.de;;Überweisung;105
    2;2;Lisa;Muster;1988;Frauen;BEL;Ülmen;;olaf_nagel@ t-online.de;;Überweisung;105
    3;3;Lisa;Muster;1988;Frauen;BEL;Ülmen;;olaf_nagel@ t-online.de;;Überweisung;105
    4;4;Lisa;Muster;1988;Frauen;BEL;Ülmen;;olaf_nagel@ t-online.de;;Überweisung;105
    5;5;Lisa;Muster;1988;Frauen;BEL;Ülmen;;olaf_nagel@ t-online.de;;Überweisung;105
    6;6;Lisa;Muster;1988;Frauen;BEL;Ülmen;;olaf_nagel@ t-online.de;;Überweisung;105
    7;7;Lisa;Muster;1988;Frauen;BEL;Ülmen;;olaf_nagel@ t-online.de;;Überweisung;105
    8;8;Lisa;Muster;1988;Frauen;BEL;Ülmen;;olaf_nagel@ t-online.de;;Überweisung;105
    9;9;Lisa;Muster;1988;Frauen;BEL;Ülmen;;olaf_nagel@ t-online.de;;Ueberweisung;105?10;10;Lisa;Muster;1988 ;Frauen;BEL;Ülmen;;olaf_nagel@t-online.de;;Ueberweisung;105[/MAN]
    Ich hoffe es kann mir Jemand helfen.

  • #2
    Datensatz

    ich habe mir jetz mal $datensatz[0] ausgeben lassen und der ist korrekt. Also muss das Fragezeichen beim übergeben erzeugt werden. Der Zeilenumbruch funktioniert auch gut.
    Hat keiner eine Idee?

    Kommentar


    • #3
      Das, was in $datensatz steht, ist vermutlich kein UTF-8.

      Btw: fputcsv. Sonst beachtest du den Kontextwechsel ins CSV-Format nicht korrekt.

      Kommentar


      • #4
        Zitat von mermshaus Beitrag anzeigen
        Das, was in $datensatz steht, ist vermutlich kein UTF-8.

        Btw: fputcsv. Sonst beachtest du den Kontextwechsel ins CSV-Format nicht korrekt.
        Doch der header ist
        PHP-Code:
        header("Content-Type: text/html; charset=utf-8"); 
        doch was mich am meisten wundert ist das der erste Eintrag korrekt erfolgt und erst der weitere Eintrag dann mit Fragezeichen versehen ist.
        PHP-Code:
        SNR|Transponder|Vorname|Name|Jahrgang|Klasse|Land|Ort|Verein|Email|Lizenz|Zahlart|zuzahlen
        1
        |1|Ülmüt|Röttog|1988|Männer|GER|Ülmen|Küche Co.|olaf_nagel@t-online.de||Ueberweisung|105
        ?2|2|Ülmüt|Röttog|1988|Maenner|GER|Ülmen|Küche Co.|olaf_nagel@t-online.de||Ueberweisung|105
        ?3|3|Ülmüt|Röttog|1988|Maenner|GER|Ülmen|Küche Co.|olaf_nagel@t-online.de||Ueberweisung|105 
        Der code für Datensatz sieht so aus.
        PHP-Code:
        if(file_exists($filename)){

         
        $anfangcount(file($filename));

        if(
        $anfang>=2){
            
        $startnr=$anfang-1;
        }



        //Transponder
        if($transponder==""){
        $transpondervergabe=$startnr;
        }
        else{
        $transpondervergabe=$transponder;
        }
         if(
        $AK=="Männer"){
             
        $AK"Maenner";
         }


        //Datensatz erstellen
        $datensatz $startnr;
        $datensatz.=$trenner;
        $datensatz.=$transpondervergabe;
        $datensatz.=$trenner;
        $datensatz.= $vorname;
        $datensatz.= $trenner;
        $datensatz.=$name;
        $datensatz.=$trenner;
        $datensatz.= $Jahrgang;
        $datensatz.=$trenner;
        $datensatz.= $AK;
        $datensatz.=$trenner;
        $datensatz.= $land;
        $datensatz.=$trenner;
        $datensatz.=$ort;
        $datensatz.=$trenner;
        $datensatz.= $verein;
        $datensatz.=$trenner;
        $datensatz.=$email;
        $datensatz.=$trenner;
        $datensatz.=$lizenz;
        $datensatz.=$trenner;
        $datensatz.=$Zahlart;
        $datensatz.=$trenner;
        $datensatz.=$gebuehr;
        $datensatz.="\n";
        //Ende wenn nicht vorhanden
                   //Wenn Datei bereits vorhanden ist

        elseif(!file_exists($filename)){

        //Transponder
        if($transponder==""){
        $transpondervergabe=$startnr;
        }
        else{
        $transpondervergabe=$transponder;
        }


        //Spaltenüberschrift

         
        $datensatz"SNR";             //1
             
        $datensatz.=$trenner;
            
        $datensatz.= "Transponder"//2
             
        $datensatz.=$trenner;
            
        $datensatz.="Vorname";      //3
            
        $datensatz.=$trenner;
            
        $datensatz.="Name" ;        //4
            
        $datensatz.=$trenner;
            
        $datensatz.="Jahrgang" ;    //5
            
        $datensatz.=$trenner;
            
        $datensatz.="Klasse" ;     //6
            
        $datensatz.=$trenner;
            
        $datensatz.="Land" ;       //7
            
        $datensatz.=$trenner;
            
        $datensatz.="Ort" ;        //8
            
        $datensatz.=$trenner;
            
        $datensatz.="Verein" ;     //9
            
        $datensatz.=$trenner;
            
        $datensatz.="Email" ;     //10
        $datensatz.=$trenner;
        $datensatz.="Lizenz" ;    //11
        $datensatz.=$trenner;
        $datensatz.="Zahlart";
        $datensatz.=$trenner;
        $datensatz.="zuzahlen" //12
        $datensatz.="\n";
        $datensatz.=$startnr;           //1
        $datensatz.=$trenner;
        $datensatz.=$transpondervergabe;//2
        $datensatz.=$trenner;
        $datensatz.=$vorname;          //3
        $datensatz.=$trenner;
        $datensatz.=$name;              //4
        $datensatz.=$trenner;
        $datensatz.=$jahrgang;         //5
        $datensatz.=$trenner;
        $datensatz.=$AK;               //6
        $datensatz.=$trenner;
        $datensatz.=$land;             //7
        $datensatz.=$trenner;
        $datensatz.=$ort;               //8
        $datensatz.=$trenner;
        $datensatz.=$verein;           //9
        $datensatz.=$trenner;
        $datensatz.=$email;             //10
        $datensatz.=$trenner;
        $datensatz.=$lizenz;
        $datensatz.=$trenner;
        $datensatz.=$Zahlart;
        $datensatz.=$trenner;
        $datensatz.=$gebuehr;
        $datensatz.= "\n";

        Kommentar


        • #5
          Doch der header ist

          PHP-Code:
          header("Content-Type: text/html; charset=utf-8"); 
          So funktioniert das nicht. Eine PSD-Datei wird auch kein Excel-Dokument, wenn du die Dateiendung änderst.

          - http://www.joelonsoftware.com/articles/Unicode.html
          - http://phpforum.de/forum/showthread.php?t=217877

          Hat aber vielleicht tatsächlich nichts damit zu tun.

          doch was mich am meisten wundert ist das der erste Eintrag korrekt erfolgt und erst der weitere Eintrag dann mit Fragezeichen versehen ist.
          Dafür fehlt dann der Zeilenumbruch (siehe den „Link“ in Post #1) oder auch nicht (siehe den Code in Post #4)?

          Der code für Datensatz sieht so aus.
          Sorry, aber ich weigere mich, das unformatiert zu lesen. Eine Schleife sehe ich da auch nicht.

          Du postest echt total unübersichtlich.

          Kommentar

          Lädt...
          X