![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 1 385 Pomógł: 48 Dołączył: 23.05.2007 Ostrzeżenie: (0%)
|
Mam przykładowy plik csv
Kod auction 2525 standard tytuł przedmiotu kolor store 317 dutch skopiowane z exela więc nie ma przecinków. Chcę plik odczytać przez php i wyświetlić np tylko wartość kolor itp. Mam taki kod
ale nie wyświetla mi tak ;/ Pozdrawiam Ten post edytował Lejto 28.04.2009, 21:25:03 |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 214 Pomógł: 18 Dołączył: 25.04.2009 Ostrzeżenie: (20%)
|
Kod $row = 1; $uchwyt = fopen ("file.csv","r"); while (($data = fgetcsv($uchwyt, 1000, ",")) !== FALSE) { /* złe parametry dla twojego pliku cvs, u ciebie separatorem jest tabulator a nie przecinek */ $num = count($data); $row++; for ($c=0; $c < $num; $c++) { echo $data[2] . "<br />\n"; /* dlaczego wyświtlasz pole 2 a nie zmienną $c*/ } } fclose ($uchwyt); poczytaj o parametrach funkcji fgetcvs |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 1 385 Pomógł: 48 Dołączył: 23.05.2007 Ostrzeżenie: (0%)
|
no ok ale jak wyświetlę przez $c
to mi też cały plik wyświetli, a ja chce tylko 1 wartość ps zmieniłem ogranicznik z , na ; ale i tak wyświetla listę długą zamiast 1 wyrazu Ten post edytował Lejto 29.04.2009, 07:19:57 |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 89 Pomógł: 20 Dołączył: 13.05.2007 Skąd: Warszawa Ostrzeżenie: (0%)
|
Jeśli chcesz wyświetlić tylko określone pole to wyrzuć pętlę wyświetlającą wszystkie kolumny
A podaj tylko numer kolumny który Cię interesuje np.
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 1 076 Pomógł: 62 Dołączył: 6.03.2005 Skąd: Wroc Ostrzeżenie: (0%)
|
no i tam nie masz średnika ani przecinka tylko tabulator albo spację
|
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 1 385 Pomógł: 48 Dołączył: 23.05.2007 Ostrzeżenie: (0%)
|
no w moim przykładzie pliku csv nie napisałem ; a teoretycznie one są zrobiłem takie coś
i działa otrzymałem standard i dutch ale też zamiast 1 wartości to 2 teraz chce to dodać do mysql z zapytaniem sobie poradzę oczywiście (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) , ale jak w tablicy są przechowywane 2 wartości to jak je dodam kolejno (najpierw 1 potem 2), pęta? |
|
|
|
Post
#7
|
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza |
teraz chce to dodać do mysql z zapytaniem sobie poradzę oczywiście (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) , ale jak w tablicy są przechowywane 2 wartości to jak je dodam kolejno (najpierw 1 potem 2), pęta? Jeśli chcesz przenieść zawartość pliku CSV do MySQL to zabierasz się do tego od d**y strony. Poczytaj lepiej o LOAD DATA. Natomiast jeśli koniecznie chcesz to zrobić w PHP to tak, możesz to zrobić pętlą. |
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 1 385 Pomógł: 48 Dołączył: 23.05.2007 Ostrzeżenie: (0%)
|
właśnie już użyłem pętli, nie znam tak dobrze angielskiego jeszcze więc nie rozumiem wyjaśnienia LOAD DATA, mógłbyś to streścić?
|
|
|
|
Post
#9
|
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza |
|
|
|
|
Post
#10
|
|
|
Grupa: Zarejestrowani Postów: 214 Pomógł: 18 Dołączył: 25.04.2009 Ostrzeżenie: (20%)
|
przede wszystkim zmień separator w cvs by plik wyglądał następująco
Kod "dane1", "dane2", "dane3", "dane4" "dane5", "dane6" jak tak będzie wyglądał cvs to funkcja fgetcvs będzie mogła wyglądać następująco Kod fgetcsv($uchwyt, 1000) domyślnie separator to , a ogranicznik tekstu to " |
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 1 385 Pomógł: 48 Dołączył: 23.05.2007 Ostrzeżenie: (0%)
|
ja mam separator ;
Kod list_in;category_id1;auction_type;name;additional_rows_titles;
|
|
|
|
Post
#12
|
|
|
Grupa: Zarejestrowani Postów: 214 Pomógł: 18 Dołączył: 25.04.2009 Ostrzeżenie: (20%)
|
to zrób fgetcsv($uchwyt, 1000,";" ,"")
|
|
|
|
![]() ![]() |
|
Aktualny czas: 23.12.2025 - 06:01 |