Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [xml,php,mysql] problem z pobieraniem danych
marioxp
post 26.05.2010, 17:25:34
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
Go to the top of the page
+Quote Post

Posty w temacie


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: 22.06.2025 - 09:04