Variabel til et array

Tags:    php

<< < 12 > >>
Kære udviklere!

Jeg indsendte igår et spørgsmål ang. at overføre noget data fra en MySQL database til en .csv fil. Jeg har næsten fået løst problemet, men den kan ikke indsætte noget data som kommer fra databasen ind i .csv filen.

Fold kodeboks ind/udPHP kode 


Jeg sad idag og rettede koden over til en class i php, så det er lidt mere sikkert (vil jeg gå ud fra).

Jeg har prøvet med explode(), men på den måde kan den ikke indsætte det gælende data. Men jeg er nød til at have det i et array før fputcsv() funktionen vil godkende det.

Er der nogle der ved hvad jeg evt. kunne gøre?

Og hvis det er spørgsmål, så spørg endelig!



16 svar postet i denne tråd vises herunder
4 indlæg har modtaget i alt 16 karma
Sorter efter stemmer Sorter efter dato
Hej Daniele,

Jeg tror desværre der er noget du har misforstået omkring klasser/OOP. For det første gør de altså ikke per automatik din kode mere sikker. For det andet så er det ikke ALT man skal putte ind i en klasse - din Data klasse synes jeg fx ikke giver super meget mening. For det tredje så virker det som groft misbrug af en toString metode :)

Jeg er godt klar over at det ikke direkte er et svar på dit spørgsmål, men jeg håber at du kan bruge det alligevel, for det virker som om du lidt har misforstået formålet med klasser. Det er som sådan forståeligt nok, for det kan godt virke som en omgang fancy-pancy, teoretisk pjat når man første gang hører om det, men når man først rigtigt har forstået hvordan man bruger dem, så kan det virkelig hjælpe til at gøre ens kode mere overskuelig :). For mig at se er din kode kun blevet mere uoverskuelig af at komme ind i en klasse.

Mvh.

Kasper (TSW)



Indlæg senest redigeret d. 06.12.2011 11:11 af Bruger #1
Jeps:

Fold kodeboks ind/udKode 




Enig med kasper, her er et hurtigt bud

Fold kodeboks ind/udPHP kode 




fputcsv pakker det ind i et lag " mere :)

prøv at lav det om til:

' istedet for "

så det bliver til:

'<h4>'. $row["1"] .'</h4>'."<table border='0' style='font-size: 10pt' width='100%' cellspacing='0' cellpadding='0'><tr bgcolor='#d4d4d4'></td>",

ved ik om den stadig gør det, men du kan prøve, ellers er der nogen workarounds inde på http://pt2.php.net/manual/en/function.fputcsv.php hvis du søger efter quotes



Indlæg senest redigeret d. 06.12.2011 12:42 af Bruger #3427
Får du en fejlmeddelelse?

Jeg har lige prøvet med din kode og her får jeg fint array'et ind i en csv-fil.



Hej Kasper.

Jeg er nybegynder i klasser, derfor har jeg ikke den fulde forståelse for det. Der er også fejl i min kode, og det gør det bare mere uoverskueligt.

Men jeg har en gammel kode, uden klasser.

Fold kodeboks ind/udPHP kode 



@Lars

Jeg får ikke min data ind i csv filen (det fra databasen).
Du kan prøve at teste med min SQL kode:

Fold kodeboks ind/udSQL kode 




Indlæg senest redigeret d. 06.12.2011 11:26 af Bruger #16025
Hmm, det er godt nok syret, jeg har lige copy/pasted din sql og din php-kode, og her skrives der fint til csv-filen.

Lidt et dumt spørgsmål måske, men du har skriverettighed til csv-filen? (Den burde komme med en fejl når fopen() køres med "w" som det andet parameter)

(Husk iøvrigt at kalde fclose($fp) når du er færdig med at skrive/læse til filen)



Må jeg se dit output?

Og nu har jeg lukket $fp.



@Lars
Der kommer ikke data ind.
Fold kodeboks ind/udKode 


Der skal være data imellem <h4> og </h4>

@Kenneth
Dit bud og meget bedre end den class jeg lavede! Den udskriver rigtig i browseren, men den indsætter ikke SQL data i de indskrevede steder :/


EDIT! Det virker! :D



Indlæg senest redigeret d. 06.12.2011 11:58 af Bruger #16025
Ahh, troede du mente at der slet ikke blev skrevet til CSV-filen.

Men fedt at det virker, hvad var løsningen?



<< < 12 > >>
t