Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: przenoszenie z pliku tekstowego do bazy danych
Forum PHP.pl > Forum > Przedszkole
Chrom
Witam,
Mam wydaje mi się dość ciekawy problem: mam dane w formie pliku txt i potrzebuję przenieść je do bazy danych, plik wygląda mniej więcej tak:
Cytat
Zuzycie energi od pocz. mies. 000283.5GJ
Przyrost od pocz. miesiaca dla lokalu:
Nr.  Woda zimna:  Woda ciepla:  Woda oligoc.: Cent.o.:
1    0001.079      0000.886        0000.055    0000.875
2    0008.176      0006.997        0001.019    0001.538
3    0003.552      0005.426        0000.000    0001.056
4    0001.764      0002.884        0000.222    0001.873
5    0001.132      0001.071        0000.209    0000.408
6    0001.031      0000.467        0000.033    0000.720
7    0001.416      0000.799        0000.033    0000.002
8    0006.054      0003.224        0000.000    0001.283
9    0001.105      0000.906        0000.000    0001.637
10    0000.645      0000.103        0000.000    0000.415
11    0000.199      0000.136        0000.000    0000.397
12    0003.771      0003.778        0000.975    0000.117
13    0000.000      0003.764        0000.000    0001.484
14    0004.913      0002.955        0000.083    0001.543
15    0001.740      0001.677        0001.102    0000.565
16    0004.498      0002.353        0000.000    0001.351
17    0000.000      0000.009        0000.000    0000.000
18    0000.000      0000.000        0000.000    0000.000
19    0000.098      0000.122        0000.000    0001.615
20    0004.447      0008.280        0000.314    0004.193
21    0001.258      0000.604        0000.040    0000.372
22    0004.999      0004.071        0000.851    0003.266
23    0002.320      0002.020        0000.000    0005.980
24    0001.602      0001.196        0000.114    0000.129
*******************************************************
Suma: 0397.898      0358.308      0018.559    000198.3

Potrzebuje przenieść te pola do bazy danych tak, aby wypełnić pola w tabeli wg nazw: woda_ciepła Woda_zimna itd. i tu jeszcze haczyk wiersze trzeba przyporządkować wg danego wzorca np. wg tabeli z bazy danych np:
rekord nr1 = nr5
rekord nr2 = nr7
rekord nr3= nr1
rekord nr4= nr12
rekord nr5= nr25 .... itd.
Czyli że kolumna Nr musi zmienić wpisy wg wzoru.
Baza Danych wygląda mniej więcej tak
Cytat
CREATE TABLE `stany` (
`stany_id` TINYINT( 5 ) NOT NULL AUTO_INCREMENT ,
`user_id` VARCHAR( 25 ) NOT NULL ,
`stan_pcw` INT( 10 ) NOT NULL ,
`stan_kcw` INT( 10 ) NOT NULL ,
`ilosc_cw` INT( 10 ) NOT NULL ,
`stan_pzw` INT( 10 ) NOT NULL ,
`stan_kzw` INT( 10 ) NOT NULL ,
`ilosc_zw` INT( 10 ) NOT NULL ,
`stan_pwo` VARCHAR( 10 ) NOT NULL ,
`stan_kwo` VARCHAR( 10 ) NOT NULL ,
`ilosc_wo` VARCHAR( 10 ) NOT NULL ,
`co` VARCHAR( 10 ) NOT NULL ,
PRIMARY KEY ( `stany_id` )

Może ktoś z bardziej doświadczonych forumowiczów podsunie jakiś pomysł na rozwiązanie tego problemu::: ( plik tekstowy + baza MySQL-a),
pozdrawiam i liczę na pomoc.
NuLL
Co w tym trudnego ? Przenosze na php Poczatkujacy.

Prosta petla parsujacy plik i po bolu.
Chrom
Bardzo fajnie, jeżeli to takie proste to, czemu nie dałeś jaśniejszych wskazówek, ale dzieki i za to, postaram się coś z tym zrobić.
sobstel
Cytat(Chrom @ 2006-01-02 23:03:26)
Bardzo fajnie, jeżeli to takie proste to, czemu nie dałeś jaśniejszych wskazówek, ale dzieki i za to, postaram się coś z tym zrobić.

jest kilka odpowiedzi na to pytania (dopasuj sobie odpowiednio do twojego przypadku) :
- rozwiazanie mozna bardzo szybko znalezc po zajrzeniu do manuala php i kilku klikniec. w twoim przypadku ogranicza sie do poczytania o funkcjach plikowych, ew. tez o string functions
- aby znalezc rozwiazanie wystraczy kilka minut z google
- podobny problem byl juz poruszany na forum i moze pomoc skorzystanie z wyszukiwarki

polecam tez poczytanie o funkcji fgetcsv" title="Zobacz w manualu php" target="_manual
Chrom
Duże dzieki za podpowiedź postaram się coś z tym zrobić jak coś wyjdzie to będzie sukces.
Macie u mnie piwko albo dwa
mhs
Cytat(NuLL @ 2006-01-02 23:23:33)
Co w tym trudnego ? Przenosze na php Poczatkujacy.

Prosta petla parsujacy plik i po bolu.

Ewentualnie można wykorzystać LOAD DATA INFILE

http://dev.mysql.com/doc/refman/4.1/en/load-data.html
Chrom
Owszem korzystałem a raczej próbowałem i nic z tego chyba ścieżka źle podana w tutorialu jest, że jak plik jest na serwerze trzeba podąć ./plik.txt, ale nic nie wychodzi
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.