![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
posiadam plik .txt z dużą ilościa danych, które wyglądają tak: #IDO#zsp19/41?IDO? #IID#10000?IID?#PID#57?PID?#EID#0?EID? #RDO#element zespołu?RDO? #RIN#zabytek?RIN? #NZW#Obrączki, srebro pr. 84, waga ok. 2 g łącznie, bez napisów, gładkie.?NZW? #SNZ#Obrączki, srebro pr. 84, waga ok. 2 g łącznie, bez napisów, gładkie.?SNZ? #SRD#dokument?SRD? #RDZ#dokument?RDZ?<RDZ> #PIN#d:\monaobrokrzei\nowina-konopka\nowina-konopka różne\mzm-zsp19_41.jpg?PIN?#PI1#T?PI1?#PI2#T?PI2?#PI3#T?PI3?#PI4#T?PI4?#PIR#pliki graficzne?PIR?<PIN> Chciałbym zaimportować do bazy MySQL (na stronę www) dane z tego pliku. Interesują mnie stąd głównie pola #NZW#, #SRD# i #PIN#, które miałyby być zaimportowane do tabeli przedmioty do odpowiadających im pół nazwa, kategoria i obrazek. W jaki sposób mógłbym to to zrobić? Ten post edytował Earadriel 11.07.2013, 12:16:35 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 559 Pomógł: 93 Dołączył: 4.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 340 Pomógł: 49 Dołączył: 3.07.2009 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
Tutaj Microsoft ma lekką przewagę: bulk insert
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Na razie napisałem coś takiego:
Skrypt znajduje wszystkie numery katalogowe w pliku tekstowym i zapisuje je po kolei do tabeli przedmioty, do pola numer_katalogowy. Nie wiem jednak jak zrobić by został dodany kompletny wpis, to znaczy z każdym przejściem pętli żeby do tabeli był zapisywany rekord zawierajacy numer_katalogowy, kategorię do której zostanie dodany przedmiot (np. jesli w pliku tekstowym mamy #SRD#dokument?SRD? to do kategorii o numerze id 1, a jeśli #SRD#obraz?SRD? to do kategorii o id 2 itp.) oraz opis przedmiotu i ścieżkę do zdjęcia. Zawartość pliku tekstowego (mały fragment): Kod #IDO#MZM-47?IDO? #IID#10001?IID?#PID#47?PID?#EID#0?EID? #RDO#pojedynczy obiekt?RDO? #RIN#zabytek?RIN? #NZW#Obraz "Kwiaty" olej, płyta pilśniowa.?NZW? #SNZ#Obraz "Kwiaty" olej, płyta pilśniowa.?SNZ? #SRD#obraz?SRD? #RDZ#obraz?RDZ?<RDZ> #IDO#MZM-48?IDO? #IID#10001?IID?#PID#48?PID?#EID#0?EID? #RDO#pojedynczy obiekt?RDO? #RIN#zabytek?RIN? #NZW#Paszport pani Komorzyckiej z Chmielewa z 1916r.?NZW? #SNZ#Paszport pani Komorzyckiej z Chmielewa z 1916r.?SNZ? #SRD#dokument?SRD? Byłbym wdzięczny za jakieś porady, bo nie mam zbyt wielkiego doświadczenia z php i sql. Osiągnąłem już to co chciałem, prawie. ![]()
Może nie jest za piękne ale działa, mam tylko jeden problem. Jeśli przy przedmiocie nie ma zdjęcia to w pliku tekstowym wpis #PIN#images/zdjecie.jpg?PIN? nie istnieje. Dodałem więc w pliku w edytorze tekstowym automatycznie pusty wpis #PIN#?PIN? tam gdzie go nie ma. To już jest ok. Problem pojawia się gdy do jednego rekordu mamy kilka zdjęć, czyli kilka razy w pliku do jednego przedmiotu #PIN#images/zdjecie.jpg?PIN? #PIN#images/zdjecie2.jpg?PIN? itd. W takim wypadku jak idzie pętla to zdjęcie w pewnym momencie będzie miało inny numer $ciag4[$i] niż nazwa przedmoiotu $ciag2[$i] , opis przedmiotu $ciag5[$i] itd. Jeśli w bazie danych do danego przedmiotu zostanie przydzielonych kilka sciezek do zdjeć oddzielonych średnikiem to tak moze myć. Ale opcja z tylko jednym zdjęciem będzie zadowalająca. Ten post edytował Earadriel 12.07.2013, 16:32:33 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.06.2025 - 01:41 |