|
| Kommasepererede filer Fra : Brian Emilius |
Dato : 12-08-03 12:36 |
|
Hej NG
Er der nogen der ved hvordan jeg kan lave et script der kan læse
felter i en kommasepereret txt-fil?
Jeg er lidt newbie, så bær venligst over med mig.
Venlig hilsen og på forhånd tak
Brian Emilius
PS: Der er også flere linier i txt-filen, så jeg skal kunne læse
bestemte felter fra bestemte linier... ex:
admin,admin,mail@mail.dk
bent,redaktør,mail@mail.dk
svend,bruger,mail@mail.dk
osv...
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Johan Holst Nielsen (12-08-2003)
| Kommentar Fra : Johan Holst Nielsen |
Dato : 12-08-03 12:40 |
|
Brian Emilius wrote:
> Er der nogen der ved hvordan jeg kan lave et script der kan læse
> felter i en kommasepereret txt-fil?
> Jeg er lidt newbie, så bær venligst over med mig.
http://php.net/manual/en/function.fgetcsv.php
Tjek funktionen ud og spørg hvis du får problemer :)
mvh
Johan
| |
Brian Emilius (12-08-2003)
| Kommentar Fra : Brian Emilius |
Dato : 12-08-03 12:52 |
|
>
> Tjek funktionen ud og spørg hvis du får problemer :)
>
> mvh
> Johan
>
Mange tak skal du ha'. Det hjalp ufatteligt meget.
Du skulle vel ikke live have et lignende link så jek gan finde ud af
hvordan jeg skriver til csv-filer?
Venlig hilsen
Brian Emilius
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Johan Holst Nielsen (12-08-2003)
| Kommentar Fra : Johan Holst Nielsen |
Dato : 12-08-03 13:15 |
|
Brian Emilius wrote:
>>
>>Tjek funktionen ud og spørg hvis du får problemer :)
>>
>>mvh
>>Johan
>>
>
>
> Mange tak skal du ha'. Det hjalp ufatteligt meget.
> Du skulle vel ikke live have et lignende link så jek gan finde ud af
> hvordan jeg skriver til csv-filer?
Måske en kombination af fputs() og eventuelt sprintf()
mvh
Johan
| |
Jesper Brunholm (12-08-2003)
| Kommentar Fra : Jesper Brunholm |
Dato : 12-08-03 13:52 |
|
Brian Emilius wrote:
> Mange tak skal du ha'. Det hjalp ufatteligt meget.
> Du skulle vel ikke live have et lignende link så jek gan finde ud af
> hvordan jeg skriver til csv-filer?
en csv-fil er sådan set bare en tekstfil med data i kommaseparerede
felter og linieskift for hver ny post som hedder .csv i stedet for .txt.
Dvs at du bare kan oprette filen med fx fwrite < http://dk.php.net/fwrite>
mvh
Jesper Brunholm
--
Phønix - dansk folk-musik i front - < http://www.phonixfolk.dk/>
H.C. Andersen-Centret: < http://www.andersen.sdu.dk/>
Vi har killinger på Garion.dk: < http://garion.dk/>
| |
Johan Holst Nielsen (12-08-2003)
| Kommentar Fra : Johan Holst Nielsen |
Dato : 12-08-03 14:23 |
|
Jesper Brunholm wrote:
> Brian Emilius wrote:
>
>> Mange tak skal du ha'. Det hjalp ufatteligt meget.
>> Du skulle vel ikke live have et lignende link så jek gan finde ud af
>> hvordan jeg skriver til csv-filer?
>
> en csv-fil er sådan set bare en tekstfil med data i kommaseparerede
> felter og linieskift for hver ny post som hedder .csv i stedet for .txt.
Ved flat-files foretrækker jeg normalt tab sepereret... og der er
sprintf() funktionen uundværlig (mere eller mindre) :)))
mvh
Johan
| |
Jesper Brunholm (12-08-2003)
| Kommentar Fra : Jesper Brunholm |
Dato : 12-08-03 15:04 |
|
Johan Holst Nielsen wrote:
> Jesper Brunholm wrote:
>> en csv-fil er sådan set bare en tekstfil med data i kommaseparerede
>> felter og linieskift for hver ny post som hedder .csv i stedet for .txt.
> Ved flat-files foretrækker jeg normalt tab sepereret... og der er
> sprintf() funktionen uundværlig (mere eller mindre) :)))
Jeg synes kommaer er lettere at sætte end tabs, men lad blot det ligge
Mit indlæg var på ingen måde en rettelse til dit, det var bare ment som
en hjælp for det tilfældes skyld at hr Emilius ikke anede om han skulle
hen og skrive headers osv
mvh
Jesper Brunholm
--
Phønix - dansk folk-musik i front - < http://www.phonixfolk.dk/>
H.C. Andersen-Centret: < http://www.andersen.sdu.dk/>
Vi har killinger på Garion.dk: < http://garion.dk/>
| |
Johan Holst Nielsen (12-08-2003)
| Kommentar Fra : Johan Holst Nielsen |
Dato : 12-08-03 15:16 |
|
Jesper Brunholm wrote:
> Johan Holst Nielsen wrote:
>
>> Jesper Brunholm wrote:
>>
>>> en csv-fil er sådan set bare en tekstfil med data i kommaseparerede
>>> felter og linieskift for hver ny post som hedder .csv i stedet for .txt.
>>
>
>> Ved flat-files foretrækker jeg normalt tab sepereret... og der er
>> sprintf() funktionen uundværlig (mere eller mindre) :)))
>
> Jeg synes kommaer er lettere at sætte end tabs, men lad blot det ligge
Smag og behag ;)
> Mit indlæg var på ingen måde en rettelse til dit, det var bare ment som
> en hjælp for det tilfældes skyld at hr Emilius ikke anede om han skulle
> hen og skrive headers osv
Aaah, mit var heller ikke et forsvar :D
Ville blot nævne at tab seperering er en genial ting (imho), så jeg
kunne lige så godt fortælle ham det... fgetcvs har jo masser af
muligheder - man kan også seperere via | eller hvilket tegn man nu
engang vil bruge :D
mvh
Johan
| |
Brian Emilius (12-08-2003)
| Kommentar Fra : Brian Emilius |
Dato : 12-08-03 19:42 |
|
Johan Holst Nielsen og Jesper Brunholm wrote:
> en hel masse
Ok, pyha... Sikke en diskussion jeg fik sat gang i...
Er der mon en af jer der kan fortælle mig hvordan jeg kan se bestemte kolonner
i bestemte rækker (ex kolonne 4 i række 17)???
Jer bruger et script der ser nogenlunde sådan her ud:
$row = 1;
$handle = fopen ("users/users.csv","r");
while ($data = fgetcsv ($handle, 1000, ",")) {
$num = count ($data);
$row++;
print "$data[1]<br>";
}
fclose ($handle);
Men dette viser kun kolonne 1 i alle rækkerne...
Venlig hilsen
Brian Emilius
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
JMo. (12-08-2003)
| Kommentar Fra : JMo. |
Dato : 12-08-03 19:53 |
|
Brian Emilius <beskh@hotmail.com> wrote in news:bhbcda$e6d$1@sunsite.dk:
> print "$data[1]<br>";
[snip]
> Men dette viser kun kolonne 1 i alle rækkerne...
1 er kolonne-nummeret.
| |
Brian Emilius (12-08-2003)
| Kommentar Fra : Brian Emilius |
Dato : 12-08-03 20:05 |
|
JMo. wrote in dk.edb.internet.webdesign.serverside.php:
> Brian Emilius <beskh@hotmail.com> wrote in news:bhbcda$e6d$1@sunsite.dk:
>
> > print "$data[1]<br>";
> [snip]
> > Men dette viser kun kolonne 1 i alle rækkerne...
>
> 1 er kolonne-nummeret.
Der er jeg klar over, men hvordan får jeg så vist en bestemt kolonne i en
bestem række?
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Jesper Brunholm (12-08-2003)
| Kommentar Fra : Jesper Brunholm |
Dato : 12-08-03 20:15 |
|
Brian Emilius wrote:
> Der er jeg klar over, men hvordan får jeg så vist en bestemt kolonne i en
> bestem række?
$row = 1;
$handle = fopen ("users/users.csv","r");
while ($data = fgetcsv ($handle, 1000, ",")) {
$num = count ($data);
$row++;
if($data[1] == 'Det der står i felt 1 i den række du vil ha fat i'){
print "$data[1]<br>";
}
}
Altså: du laver en if-sætning som gør at du kun får printet ud på den
bestemte række...
mvh
Jesper Brunholm
| |
Johan Holst Nielsen (12-08-2003)
| Kommentar Fra : Johan Holst Nielsen |
Dato : 12-08-03 20:29 |
|
Jesper Brunholm wrote:
> Brian Emilius wrote:
>
>> Der er jeg klar over, men hvordan får jeg så vist en bestemt kolonne i en
>> bestem række?
>
>
> $row = 1;
> $handle = fopen ("users/users.csv","r");
> while ($data = fgetcsv ($handle, 1000, ",")) {
> $num = count ($data);
> $row++;
> if($data[1] == 'Det der står i felt 1 i den række du vil ha fat i'){
> print "$data[1]<br>";
> }
> }
>
> Altså: du laver en if-sætning som gør at du kun får printet ud på den
> bestemte række...
Og så kunne det være godt at gribe fat i en
http://dk2.php.net/continue
Så man ikke løber en tekstfil igennem på 1 mill. linier hvis man skal
bruge den første ;)
mvh
Johan
| |
Brian Emilius (13-08-2003)
| Kommentar Fra : Brian Emilius |
Dato : 13-08-03 07:23 |
|
Jesper Brunholm wrote in dk.edb.internet.webdesign.serverside.php:
> $row = 1;
> $handle = fopen ("users/users.csv","r");
> while ($data = fgetcsv ($handle, 1000, ",")) {
> $num = count ($data);
> $row++;
> if($data[1] == 'Det der står i felt 1 i den række du vil ha fat i'){
> print "$data[1]<br>";
> }
> }
Hmmm... Nu har jeg prøvet ovenstående, men jeg får intet output...
Hvad er der mon galt?
Venlig hilsen
Brian Emilius
PS: Jeg har selvfølgelig ændret if-sætningen til en værdi i csv-filens første
kolonne
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
[5000] Jesper Brunho~ (13-08-2003)
| Kommentar Fra : [5000] Jesper Brunho~ |
Dato : 13-08-03 08:11 |
|
Brian Emilius wrote:
> Jesper Brunholm wrote in dk.edb.internet.webdesign.serverside.php:
>
>>$row = 1;
>>$handle = fopen ("users/users.csv","r");
>>while ($data = fgetcsv ($handle, 1000, ",")) {
>> $num = count ($data);
>> $row++;
>> if($data[1] == 'Det der står i felt 1 i den række du vil ha fat i'){
>> print "$data[1]<br>";
>> }
>>}
>
>
> Hmmm... Nu har jeg prøvet ovenstående, men jeg får intet output...
> Hvad er der mon galt?
godt spørgsmål - hvad er din præcise kode i det afsnit, er du _helt
sikker_ på at der er et førstefelt som er præcis magen til det du har
angivet i if'en, og har du sat errorhandling til at du får alle fejl
præsenteret? (det kan du læse mere om i tråden "stop ved fejl")
mvh
Jesper Brunholm
| |
Brian Emilius (13-08-2003)
| Kommentar Fra : Brian Emilius |
Dato : 13-08-03 09:02 |
|
[5000] Jesper Brunholm wrote in dk.edb.internet.webdesign.serverside.php:
> godt spørgsmål - hvad er din præcise kode i det afsnit,
$row = 1;
$handle = fopen ("users/users.csv","r");
while ($data = fgetcsv ($handle, 1000, ";")) {
$num = count ($data);
$row++;
if($data[1] == "be") {
print "$data[1]<br>";
}
}
>er du _helt sikker_ på at der er et førstefelt som er præcis magen til det du
har
> angivet i if'en,
Nej, jeg har fundet fejlen... 1. kolonne hedder ikke "1", men "0"...
>og har du sat errorhandling til at du får alle fejl
> præsenteret? (det kan du læse mere om i tråden "stop ved fejl")
ikke nødvendigt, men jeg sige mange tak for den store hjælp
Venlig hilsen
Brian Emilius
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
|
|