Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> podczas importu pliku w komórce zamiast NULL są zera
osmin
post 22.09.2008, 19:43:20
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 22.09.2008

Ostrzeżenie: (0%)
-----


Witam,


przenoszę bazę danych z jednego cmsa do drugiego (joomla). Mam już przerobiony plik z danymi:

przykładowy fragment wpisu: 19;57;1;2007-10-21;NULL;00:00:00;NULL; (...)

Pierwsze NULL jest w komórce, gdzie wpisywana jest data zakończenia, drugie NULL gdzie wpisywana jest godzina zakończenia. Gdy wczyta się cały plik, to zamiast NULL mam 0000:00:00 oraz 00:00:00. Mocno mi to komplikuje życie, gdyż te zera są wyświetlane i wychodzi głupota. Próbowałem poprawiać w phpmyadminie ale bez oczekiwanego rezultatu - są te nieszczęsne zera. Jedynie z poziomu CMSa mogę to poprawić. Ale poprawianie blisko 3000 rekordów nie jest zachęcające.

Czy istnieje jakiś sposób, by zautomatyzować tę czynność.
Co do Joomli, to chodzi mi tu o moduł EventList i wpisywanie zdarzeń.

Sprawdziłem, że interesujące mnie komórki dopuszczają wartość NULL
mam tak ustawione
http://img137.imageshack.us/my.php?image=nulllf3.jpg (na kolorowo są interesujące mnie komórki).
Go to the top of the page
+Quote Post
nevt
post 22.09.2008, 19:54:44
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

Ostrzeżenie: (0%)
-----


ale jak wciągasz te dane do nowej bazy? skryptem php czy przez phpMyAdmin czy jeszcze inaczej?


--------------------

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
Go to the top of the page
+Quote Post
osmin
post 22.09.2008, 20:37:46
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 22.09.2008

Ostrzeżenie: (0%)
-----


Dane pobieram z phpmyadmina
Go to the top of the page
+Quote Post
nevt
post 22.09.2008, 20:41:12
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

Ostrzeżenie: (0%)
-----


ale jak?? przez interfejs phpMyAdmin czy zapytaniem sql?? pokaż to zapytanie...

bo skoro masz plik w którym dane ładnie podzielane są średnikami to spróbuj to pobrać bezpośrednio z tego pliku poleceniem LOAD DATA INFILE ...


--------------------

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
Go to the top of the page
+Quote Post
osmin
post 22.09.2008, 20:50:57
Post #5





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 22.09.2008

Ostrzeżenie: (0%)
-----


Z pierwszego cmsa zapisuje zawartość tabeli w formacie excel 2000. Tam dodaję swoje dane i uzupełniam poszczególne komórki (przenoszę dane pomiędzy różnymi cmsami). Potem zapisuję jako CSV (macintosh). Odpalam plik w Editplusie gdzie ustawiam wyrażenia regularne. I dopiero taki plik wczytuję do drugiego CMSa.
Go to the top of the page
+Quote Post
nevt
post 22.09.2008, 21:05:36
Post #6





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

Ostrzeżenie: (0%)
-----


(powtarzam się) więc skoro masz ładnie przygotowany plik CSV to skorzystaj z dobrodziejstwa MySQL w postaci LOAD DATA INFILE i wciągnij te dane BEZPOŚREDNIO do bazy danych z pomięciem interfejsów CMS'a ... prawdopodobnie cms nie interpretuje napisu NULL jako prawidłowej daty lub czasu i przypisuje do pola zero...


--------------------

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
Go to the top of the page
+Quote Post
osmin
post 23.09.2008, 08:48:43
Post #7





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 22.09.2008

Ostrzeżenie: (0%)
-----


dostaje taką oto informację:


Błąd
zapytanie SQL:

LOAD DATA INFILE 'c:\\koncerty.txt' INTO TABLE jos_eventlist_events

MySQL zwrócił komunikat:

#1045 - Access denied for user 'rrafaell_1'@'%' (using password: YES)
Go to the top of the page
+Quote Post
dr_bonzo
post 23.09.2008, 09:13:09
Post #8





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


manual!

Also, to use LOAD DATA INFILE on server files, you must have the FILE privilege.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
osmin
post 24.09.2008, 07:56:28
Post #9





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 22.09.2008

Ostrzeżenie: (0%)
-----


Jest jeszcze jedna rzecz, którą dopiero zobaczyłem wczoraj a dzięki której mogę ręcznie wpisywać NULL:

http://img252.imageshack.us/my.php?image=null1jv3.jpg

Jak zaznaczę pola z kolumny NULL, to się ustawia ta wartość. Ale jak to zrobić podczas importu lub później, ale z automatu, by wszystkie na raz włączyć (blisko 3000 rekordów).


EDIT:

porardziłem sobie komendą UPDATE.

Ten post edytował osmin 24.09.2008, 08:24:37
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 7.07.2025 - 04:30