przewiń do treści

PHP, MySQL i MVC. Tworzenie witryn WWW opartych na bazie danych

Włodzimierz Gajda

$tcs = simplexml_load_file('tcs.xml');
foreach ($tcs->turniej as $turniej) {

    $dane_turnieju = array(
        'rok'  => $turniej->rok,
        'slug' => string2slug($turniej->rok)
    );
    $objTurniej = TurniejPeer::insertIfNotExists($dane_turnieju);

    foreach ($turniej->miejsce as $miejsce) {
    
        $dane_panstwa = array(
            'panstwo'  => $miejsce->sportowiec->panstwo,
            'slug' => string2slug($miejsce->sportowiec->panstwo)
        );
        $objPanstwo = PanstwoPeer::insertIfNotExists($dane_panstwa);
        
        $dane_zawodnika = array(
            'imie'     =>  $miejsce->sportowiec->imie,
            'nazwisko' => $miejsce->sportowiec->nazwisko,
            'panstwo_id' => $objPanstwo->getPanstwoId(),
            'slug' => string2slug(
                $miejsce->sportowiec->nazwisko . ' ' . $miejsce->sportowiec->imie
            )
        );
        $objZawodnik = ZawodnikPeer::insertIfNotExists($dane_zawodnika);
        
        $thz = new TurniejHasZawodnik();
        $thz->setZawodnik($objZawodnik);
        $thz->setTurniej($objTurniej);
        $thz->setMiejsce($miejsce->numer);
        try {
            $thz->save();
        } catch (PropelException $e) {
            echo 'ERROR: ' . $e->getMessage() . "\n";
        }
        
    }
}

Listing 26.3. Skrypt wypełniający bazę danych z rysunku 26.3 na podstawie pliku tcs.xml

Rozdział 26. Podstawy przetwarzania dokumentów XML w PHP

listing-26-03.txt

Reklama

Szkolenia z Symfony 2.0