php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 07-11-2005, 23:14
bärlina
 Junior Member
Links : Onlinestatus : bärlina ist offline
Registriert seit: Oct 2005
Beiträge: 131
bärlina ist zur Zeit noch ein unbeschriebenes Blatt
Standard csv file mit fputs erstellen : Problem

Guten abend

hab schon wieder ein problem und hoffe, dass mir jemand helfen kann ...

und zwar lass ich csv.dateien generieren, die daten dazu kommen aus einem db-query....

problem ist nur, DAS KOMMA, das die datensätze trennen soll...
leider kommen innerhalb der spaltenwerte(texte) auch kommas vor, dadurch wird natürlich ein fehler verursacht...

kann ich das irgendwie umgehen ?
Mit Zitat antworten
  #2 (permalink)  
Alt 08-11-2005, 00:31
pekka
 PHP Master
Links : Onlinestatus : pekka ist offline
Registriert seit: Jun 2001
Ort: Köln
Beiträge: 6.608
pekka befindet sich auf einem aufstrebenden Ast
Standard

Die saubere Lösung: Feldwerte durch ein " oder ' einschließen (und in den Daten eventuell vorkommende Anführungszeichen entsprechend escapen, also " durch \" bzw. ' durch \' ersetzen, damit die Verarbeitung nicht abbricht). So macht man es bei CSV-Daten normalerweise.

Die unsaubere, schnelle Lösung: In den Daten vorkommende Kommata mit str_replace() durch was anderes, eindeutiges ersetzen (etwa #°#) und dann im Zielprogramm (z.B. Excel) mit "Suchen / Ersetzen" zurückverwandeln.
Mit Zitat antworten
  #3 (permalink)  
Alt 08-11-2005, 03:33
c8n8b1s
 Newbie
Links : Onlinestatus : c8n8b1s ist offline
Registriert seit: Oct 2005
Beiträge: 25
c8n8b1s ist zur Zeit noch ein unbeschriebenes Blatt
Standard

jepp,

hab ich auch schon mal mit improvisiert. klappt auch gut, nur hatteich Probleme mit dem # Zeichen. Das * Zeichen klappte bei mir besser, muss irgendwie damit zusammenhängen, dass das ganze noch PHP Code durchlaufen muss, weiß es aber auch nicht genau. (CSV File im Unix Linebreak, MAC OS Roman Format)


LG, C8n8b1s
Mit Zitat antworten
  #4 (permalink)  
Alt 08-11-2005, 12:38
bärlina
 Junior Member
Links : Onlinestatus : bärlina ist offline
Registriert seit: Oct 2005
Beiträge: 131
bärlina ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von pekka
Die saubere Lösung: Feldwerte durch ein " oder ' einschließen (und in den Daten eventuell vorkommende Anführungszeichen entsprechend escapen, also " durch \" bzw. ' durch \' ersetzen, damit die Verarbeitung nicht abbricht). So macht man es bei CSV-Daten normalerweise.
genau so, hatt ich mir das ja eigentlich gedacht, hab nicht damit gerechnet, das sich tagelang dran sitze

aber wenn ich das mit den anführungszeichen mache, dann passieren die fehler auch ...

dann sagte mir jemand, ich soll ein anderes trennzeichen verwenden, z.B das Semikolon....hab ich gemacht, datensätze wurden schön getrennt usw, aber wenn ich das CSV mit exel öffne, dann erkennt er das semikolon nicht als trennzeichen an...so glaube ich zumindest...
ist mein exel eifnach nur zu alt ? officve97


PHP-Code:
fputs ($fp3"".$row_fputs3[cat].";".$row_fputs3[active].";\n"); 
im texteditor sieht das ergebnis so aus(richtig) :

1;1001;
2;1002;

aber in meinem exel werden alle datensätze in einer spalte angezeigt, statt jeder wert in seiner eigenen spalte...

Geändert von bärlina (08-11-2005 um 12:40 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 08-11-2005, 12:53
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.788
Kropff befindet sich auf einem aufstrebenden Ast
Standard

also bei mir funzt das einwandfrei (office xp). mach mal spaßeshalber aus dem \n ein \r\n

peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #6 (permalink)  
Alt 08-11-2005, 13:55
bärlina
 Junior Member
Links : Onlinestatus : bärlina ist offline
Registriert seit: Oct 2005
Beiträge: 131
bärlina ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Kropff
also bei mir funzt das einwandfrei (office xp). mach mal spaßeshalber aus dem \n ein \r\n

peter
das zeilenweise eintragen funktioniert ja einwandfrei, am zeilenumbruch liegts nicht....

hab mir ja ne orginak exel erzuegte csv angeschaut.

Dann werd ich mir wohl mal exel für xp besorgen,
nachher läuft schon alles, und es liegt nur an meiner alten version

Geändert von bärlina (08-11-2005 um 14:04 Uhr)
Mit Zitat antworten
  #7 (permalink)  
Alt 08-11-2005, 14:10
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.788
Kropff befindet sich auf einem aufstrebenden Ast
Standard

kann mich da noch schwach an etwas erinnern. bei alten excel-versionen mußte man beim öffnen dezidiert csv als dateityp auswählen. bei einem schnöden doppelklick auf die csv-datei funktionierte das nicht richtig.

peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #8 (permalink)  
Alt 08-11-2005, 14:38
bärlina
 Junior Member
Links : Onlinestatus : bärlina ist offline
Registriert seit: Oct 2005
Beiträge: 131
bärlina ist zur Zeit noch ein unbeschriebenes Blatt
Standard

okay, ist das jetzt lustig oder traurig, dass ich 2 tage umsonst gesessen habe

DENN :

du hast recht, durch doppelklick gehts nicht, aber wenn ich die datei direkt über exel öffne schon....

also funze das einache script schon die ganze zeit
verdammt unangenehm

aber die erlösung macht es erträglich

VIELEN DANK !

und wo es schon so gut läuft

ist das einlesen und dann zurückeintragen in die DB auch so easy ?
Mit Zitat antworten
  #9 (permalink)  
Alt 08-11-2005, 14:47
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.788
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
st das einlesen und dann zurückeintragen in die DB auch so easy ?
ja

peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Kundengewinnung und Kundenbindung
Kundengewinnung und KundenbindungVertrieb läuft doch immer persönlich. Das funktioniert nicht mit dem Internet! Wirklich?

24.09.2021 | Berni

Projektmanagement Damals und Heute
Projektmanagement Damals und HeuteWerfen Sie einen Blick auf das, was sich verändert hat, und entdecken Sie, wo die Zukunft dieses Gebietes hinsteuert.

18.01.2021 | Berni


 

Aktuelle PHP Scripte

Simple Forum PHP ansehen Simple Forum PHP

If you need simple forum or discussion on your website, then you've come to the right place. Simple Forum PHP is a script that is very easy to install and administer.

28.08.2021 nevenov | Kategorie: PHP/ Forum PHP Software
Formmailer Bootstrap 4

Mit dem Formmailer kann man sich eMails über seine Seite zukommen lassen.

08.07.2021 arne-home | Kategorie: PHP/ Formular
Fehlerseite Bootstrap 4

Bei Aufruf einer nicht existierenden Seite, teilen Sie Besuchern mit einer eigenen Fehlerseite mit, dass die gewünschte Seite nicht gefunden wurde. Die eigene Fehlerseite sollte dasselbe Design wie die Website haben. Zudem sollte ein Link zur Startseite a

04.07.2021 arne-home | Kategorie: PHP/ Counter
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:58 Uhr.