![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 29.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam problem z zasysaniem plikow xml do mysql sprawa wyglada nastepujaco do katalogu na serwerze generowane sa plik xml z 3 roznymi danymi: 1) xxxx23218937321.xml 2) zzz88923189832.xml 3) yy12432332132.xml w kazdym z tych plikow znajduja sie rozne dane przykladowe dane 1)xxxx23218937321.xml <?xml version="1.0" encoding="UTF-8" ?> <tabela> <nazwisko>Kowalski</nazwisko> <data>2010.05.24 10:48:21</data> <email>kk@k.pl</email> </tabela> 2) zzz88923189832.xml <?xml version="1.0" encoding="UTF-8" ?> <tabela2> <miasto>Warszawa</miasto> <data_2>2010.05.24 10:41:21</data_2> <kod_pocztowy>01-114</kod_pocztowy> </tabela2> 3) yy12432332132.xml <?xml version="1.0" encoding="UTF-8" ?> <tabela3> <wojewodztwo>mazowieckie</wojewodztwo> <data_3>2010.05.24 10:39:21</data_3> <skrot>maz</skrot> </tabela3> Te pliki beda sie wrzucone do katalogu x uzylem parsowania simplexml jesli jest jedne plik z danej kategori to nie ma problemu i oczywiscie kazdy z rodzaj pliku w oddzienlnym katalogu to nie ma problem pobiera ale jedne plik moze ktos pomoc aby wszystkie pliki byly pobierane z jednego katalogu a zeby sam skryp z php pobieral po zawartosci pliku czyli jesli tabela,tabela2,tabela3 i wrzucal od odpowieniej bazy jesli cos nie napisalem zrozumiale to prosze i info dopisze wiecej ponizej kawalek kodu dzieki ktoremu pobieram dane z pliku i przerzucam do bazy : if($katalog = opendir('./xml/x')){ while(false !== ($plik = readdir($katalog))){ if($plik != '.' && $plik != '..'){ $connection = @mysql_connect('localhost', 'user', 'haslo') or die('Brak połączenia z serwerem MySQL.<br />Błąd: '.mysql_error()); $db = @mysql_select_db('tabela', $connection) or die('Nie mogę połączyć się z bazą danych<br />Błąd: '.mysql_error()); $xml = simplexml_load_file('./xml/x'.$plik.''); $w = $xml->attributes(); $nazwisko = $xml->nazwisko; $data = $xml->data; $email = $xml->email; $dodaj = mysql_query ('INSERT INTO tabela SET nazwisko='.$nazwisko.', data='.$data.', email='.$email.''); } } } powyzszy kod dziala ale na pojedynczych plikach nie chce wrzucac wszystkich w danym katalogu, ale najlepszym rozwiazanem bylo by zeby wszystkie pliki byly w jednym katalogu (xxxx*.xml,zzz*.xml,yy*.xml) z gory dzieki Ten post edytował marioxp 26.05.2010, 17:26:14 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 22.06.2025 - 20:30 |