Forum Sveta kompjutera

Nazad   Forum Sveta kompjutera > Internet > Web razvoj > Serverske aplikacije i baze podataka
Uputstvo Članstvo Kalendar Današnje poruke Pretraži

Serverske aplikacije i baze podataka PHP, Perl, ASP, ASP .NET, ColdFusion...
MySQL, PostgreSQL, MSQL, Oracle...

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 7.2.2014, 22:18   #1
Dekip
V.I.P. Recenzent
 
Član od: 8.11.2008.
Lokacija: XV535
Poruke: 3.217
Zahvalnice: 779
Zahvaljeno 1.042 puta na 580 poruka
Određen forumom Ispisivanje txt dinamički

Treba mi da u while petlji izbacim podatke u txt fajl. Došao sam do ovoga:

PHP kod:
$test='';
$myFile "testfile.txt";
$fh fopen($myFile'w') or die("can't open file");
$sql=mysqli_query($con,"SELECT * FROM pdfreg");
while (
$row mysqli_fetch_array($sql)){
    
$id=$row['id'];
    
$name=$row['name'];
    
$value=$row['value'];
    
$date=$row['date'];
    
$test .=$stringData $name.';'.$value.';\r\n';
    
$test .=fwrite($fh$stringData);
    } 
Sa ovim dobijam upis u txt fajl ali ne upis ispod upisa već ovako:

Citat:
test1;fajl1;\r\ntest2;fajl2;\r\ntest3;fajl3;\r\n
Meni treba ovako:
Citat:
test1;fajl1;
test2;fajl2;
test3;fajl3;
Dekip je offline   Odgovor sa citatom ove poruke
Stara 7.2.2014, 22:37   #2
Neutrino
Deo inventara foruma
 
Član od: 17.6.2011.
Poruke: 7.401
Zahvalnice: 98
Zahvaljeno 3.391 puta na 2.038 poruka
Određen forumom Re: Ispisivanje txt dinamički

Kad koristiš escape sekvence moraš da koristiš string deliterale (počinju i završavaju se navodnicima) a ne literale (počinju i završavaju se apsotrofima).

U PHP-u nije isto kad koristiš navodnike i apostrofe da ograničiš stringove.

http://www.php.net/manual/en/language.types.string.php

PHP kod:
$test '';
$myFile "testfile.txt";
$fh fopen($myFile'w') or die("can't open file");
$sql mysqli_query($con,"SELECT * FROM pdfreg");
while (
$row mysqli_fetch_array($sql)){
    
$id $row['id'];
    
$name $row['name'];
    
$value $row['value'];
    
$date $row['date'];
    
$test .= $stringData $name ';' $value ";\r\n";
    
$test .= fwrite($fh$stringData);

Neutrino je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku Neutrino na korisnoj poruci:
Dekip (7.2.2014)
Stara 7.2.2014, 22:38   #3
JohnnyNT
Deo inventara foruma
 
Član od: 15.4.2006.
Lokacija: Srbija
Poruke: 4.039
Zahvalnice: 1.301
Zahvaljeno 1.404 puta na 950 poruka
Određen forumom Re: Ispisivanje txt dinamički

Stavi \r\n pod ove " navodnike, ovako:

Citat:
$test .=$stringData = $name.";".$value.";\r\n";
(mada mislim da ti je dovoljno i samo \n)

edit: preteče me n
JohnnyNT je offline   Odgovor sa citatom ove poruke
Stara 7.2.2014, 22:50   #4
Dekip
V.I.P. Recenzent
 
Član od: 8.11.2008.
Lokacija: XV535
Poruke: 3.217
Zahvalnice: 779
Zahvaljeno 1.042 puta na 580 poruka
Određen forumom Re: Ispisivanje txt dinamički

Mora i \r.
Dekip je offline   Odgovor sa citatom ove poruke
Stara 7.2.2014, 23:10   #5
Neutrino
Deo inventara foruma
 
Član od: 17.6.2011.
Poruke: 7.401
Zahvalnice: 98
Zahvaljeno 3.391 puta na 2.038 poruka
Određen forumom Re: Ispisivanje txt dinamički

Citat:
Dekip kaže: Pregled poruke
Mora i \r.
Samo ako imaš nameru da ručno otvaraš fajl na Windows-u jer Windows pored "new line" (\n) karaktera za prelazak u novi red zahteva i "carriage return" (\r). To je pomalo zaboravljena zaostavština iz doba kad su matričnim štampačima za postavljanje na početak novog reda morale da se zadaju dve komande, "pređi u sledeći red" i "vrati glavu (carriage) na početak". Dakle ono "carriage" u nazivu escape sekvence je dobilo ime od engleske reči za glavu štampača

Da se vratim na temu. Većina funkcija u PHP-u je sasvim sposobna da radi bez obzira na to da li se PHP kod izvrašava na Windows ili UNIX mašini. Dakle sa ili bez \r one će raditi bez problema jer se prilikom kompajliranja PHP-a za određenu platformu vodi računa o ovom malom detalju. Jedini slučaj kada je neophodno pridržavati se prakse dodavanja \r za novi red je kad recimo neki RFC u definiciji standarda eksplicitno koristi \r. Recimo kada se generiše zaglavlje maila RFC 822 eksplicitno zahteva korišćenje \r\n kombinaciju između dva headera (novi red) dok se telo zahteva obavezno odvaja sa dva nova reda (\r\n\r\n) od zaglavlja (headera).
Neutrino je offline   Odgovor sa citatom ove poruke
Sledećih 2 korisnika se zahvaljuje korisniku Neutrino na korisnoj poruci:
Dekip (8.2.2014), JohnnyNT (8.2.2014)
Stara 8.2.2014, 12:43   #6
Dekip
V.I.P. Recenzent
 
Član od: 8.11.2008.
Lokacija: XV535
Poruke: 3.217
Zahvalnice: 779
Zahvaljeno 1.042 puta na 580 poruka
Određen forumom Re: Ispisivanje txt dinamički

Taj txt fajl kasnije zloupotrebljavam dalje pa mi treba da bude sve jedno ispod drugog.
Dekip je offline   Odgovor sa citatom ove poruke
Odgovor

Bookmarks sajtovi


Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno


Slične teme
tema temu započeo forum Odgovora Poslednja poruka
Otvaranje foldera dinamički Dekip Serverske aplikacije i baze podataka 2 14.1.2014 21:56
Dinamički disk u osnovni Dr.Sloba Nosači podataka 12 23.11.2012 19:19
C++ ; Ispisivanje teksta u boji (console app) Alek92 Programiranje 2 5.11.2012 20:55
Dinamički GridView u ASP.NET Ajaxu i jQuery dechkotzar Serverske aplikacije i baze podataka 3 20.3.2009 22:10
Dinamički diskovi na Visti Home Premium Bolton Nosači podataka 3 20.1.2009 12:22


Sva vremena su po Griniču +2 h. Sada je 11:31.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2025, vBulletin Solutions, Inc.
Hosted by Beograd.com