plik leaderboards.php :
<?php require 'gora.php'; ?> <form action="leaderboards_2.php" method="GET"> <table id="tabela" name="tabela" align=center" border="1" rules="all"><tbody><tr class="table-top"><th background='tlo.png'>Trasa</th><th background='tlo.png'>Rodzaj wyścigu</th></tr> <tr><td> <select name="trasa" > <? '299'=>'AGOSTINI AVENUE', '10'=>'BAY BRIDGE', '302'=>'BEACHFRONT', '25'=>'BEACON STATION', '71'=>'BLACKWELL BRIDGE', '22'=>'BOUNDARY & MARINA', '26'=>'BRISTOL & BAYSHORE', '3'=>'BRISTOL & DIAMOND', '57'=>'BROOKS STREET', '18'=>'CAMDEN & ROUTE 55', '360'=>'CAMDEN HILLS', '9'=>'CAMDEN TUNNEL', '72'=>'CAMPBELL TUNNEL', '5'=>'CAMPUS INTERCHANGE', '317'=>'CENTRAL COAST', '27'=>'CHANCELLOR & CAMPUS', '41'=>'CHINATOWN DELIVERY', '78'=>'CHINATOWN TRAM', '34'=>'CLUBHOUSE & HOLLIS', '21'=>'COLLEGE ASYLUM', '24'=>'COLLEGE MALL', '298'=>'CONDO ROW', '43'=>'CONSTRUCTION ROUTE', '6'=>'COUNTRY CLUB', '39'=>'DIAMOND & UNION', '303'=>'DOVER AND LEPUS', '307'=>'DOVER STREET', '61'=>'DOWNTOWN CHALLENGE', '56'=>'EAGLE DRIVE', '157'=>'FINANCIAL DISTRICT', '82'=>'GARDEN BOULEVARD', '12'=>'GRAY POINT', '83'=>'HASTINGS', '31'=>'HERITAGE & CAMPUS', '17'=>'HERITAGE & DIAMOND', '32'=>'HERITAGE HEIGHTS', '33'=>'HWY 99 & STATE', '8'=>'IRONHORSE & COAST', '308'=>'KEMPTON DOCKS', '80'=>'LINCOLN BOULEVARD', '120'=>'LIONS CHALLENGE', '145'=>'LITTLE ITALY', '52'=>'LUCKY TOWERS', '146'=>'LYONS & HWY 201', '79'=>'MAIN STREET', '81'=>'MASON STREET', '314'=>'MISSION STREET', '19'=>'NORTH BAY HARBOUR', '292'=>'NORTH BELLEZZA', '50'=>'NORTH BROADWAY', '76'=>'NORTH ROAD', '295'=>'OCEAN VIEW', '7'=>'OIL REFINERY', '47'=>'OLD QUARTER', '55'=>'PARADISE HOTEL', '23'=>'PARK BOUNDARY', '309'=>'PETERSBURG DAM', '97'=>'RIVERFRONT & GREEN', '28'=>'ROCKRIDGE & UNION', '29'=>'ROSEWOOD & LYONS', '38'=>'ROSEWOOD CENTRAL', '36'=>'ROSEWOOD COLLEGE', '37'=>'ROSEWOOD PARK LOOP', '15'=>'ROUTE 55', '49'=>'SAVANNAH STREET', '98'=>'SEASIDE INTERCHANGE', '77'=>'SILK ROAD', '51'=>'SILVERTON WAY', '289'=>'SKYLINE AVENUE', '54'=>'SPADE STREET', '16'=>'STADIUM & CHASE', '20'=>'STADIUM & HWY 1', '35'=>'STADIUM & HWY 99', '53'=>'STARLIGHT STREET', '13'=>'STATE & WARRENT', '14'=>'STATION & FISHER', '30'=>'UNION & HOLLIS', '287'=>'UNIVERSITY WAY', '131'=>'VALLEY & STATE', '290'=>'VERONA TUNNEL', '11'=>'WATERFRONT', '305'=>'WATERFRONT ROAD', '45'=>'WELCOME TO PALMONT', '85'=>'WEST PARK & FOREST', '147'=>'WEST PARK & LYONS', '296'=>'YORK ROAD'); foreach($selectValues as $key => $value) { echo '<option value="'.$key.'"'.($_GET['trasa']==$key ? ' selected="selected"' : '').'>'.$value.'</option>'.""; } ?> </select> </td> <td><input name="tryb" value="1" checked="checked" type="radio" id="tabela"> MULTIPLAYER<br> <input name="tryb" value="2" type="radio" id="tabela"> SINGLEPLAYER</td> <td> <input type=submit value="Pokaż"/> </td></tr></tbody></table> </form> </div>
plik leaderboards_2.php
<?php include 'leaderboards.php'; //optional comment out or delete // The POST URL and parameters $trasa = $_GET['trasa']; $tryb = $_GET['tryb']; $sql_host = '*********'; $sql_user = '***********'; $sql_password = '**********'; $sql_baza = '*********'; if ($zapytanie) { $rezultat = ''; // inicjalizujemy zmienna if ($rezultat != '') { // rezultat NIE jest pusty, wiec dodajemy przecinek i spacje $rezultat .= ','; // to jest to samo co: $rezultat = $rezultat . ', '; } $rezultat .= $wynik["nick"]; } } else { } } $request = 'http://world.needforspeed.com/SpeedAPI/ws/game/1/nfsw/leaderboards?et='.$tryb.'&eid='.$trasa.'<=1&dn='.$rezultat.'&output=xml'; // POST the curl session object $session = curl_init($request); // Set the POST options. curl_setopt ($session, CURLOPT_POST, true); curl_setopt ($session, CURLOPT_POSTFIELDS, $request); curl_setopt($session, CURLOPT_HEADER, true); curl_setopt($session, CURLOPT_RETURNTRANSFER, true); // Do the POST and then close the session $response = curl_exec($session); curl_close($session); // POST HTTP Status code from the response // Check for errors switch( $status_code[0] ) { case 200: // Success break; case 503: break; case 403: break; case 409: die('<font color="white"> Nie można pobrać danych z serwerów EA. Prawdopodobnie serwery są wyłączone.</font> '); break; case 400: // You may want to fall through here and read the specific XML error die('Bad request. The parameters passed to the service did not match as expected. The exact error is returned in the XML response.'); break; default: } // POST the XML from the response, bypassing the header $xml = null; } ?> <table class="sortable" border="1" align="left" rules="all" width="100%" id="tabela"> <!-- Table Header --> <thead> <tr> <th background='tlo.png'>LP.</th> <th background='tlo.png'>Nick</th> <th background='tlo.png'>Czas</th> <th background='tlo.png'>Marka</th> <th background='tlo.png'>Model</th> </tr> </thead> <!-- Tabel body--> <tbody> <?php // Output the XML $worldLeaderboard = simplexml_load_string($xml); foreach ($worldLeaderboard->worldLeaderboard as $world) { $playername = '<td><a href="profil2.php?nick=' . $world['personaName'] . '">' . $world['personaName'] . '</a></td>'; $playertime = '<td>' . $world['eventDuration'] . '</td>'; $playerrank = '<td>' . $world['rank'] . '</td>'; $tekst = '<td>' . $world['make'] . '</td>'; $tekst2 = '<td>' . $world['carName'] . '</td>'; } ?> </tbody> <!-- Tabel footer--> <tfoot> <tr> <td></td> <td></td> </tr> </tfoot> </table> <?php include 'dol.php'; ?>
Plik XML wygląda mniej więcej tak:
<?xml version="1.0" encoding="UTF-8"?> <list> <worldLeaderboard eventId="45" eventType="2" eventMode="1" eventDurationMilliseconds="119520" eventDuration="0:01:59.520" personaName="DATA0001F" make="TOYOTA" carName="COROLLA GT-S (AE86)" rank="1"> <persona personaName="DATA0003D" level="2" image="8" statusMessage="" defaultPersona="true"/> <worldLeaderboard/> <worldLeaderboard eventId="45" eventType="2" eventMode="1" eventDurationMilliseconds="119534" eventDuration="0:01:59.534" personaName="DATA0002F" make="MAZDA" carName="MAZDASPEED 3" rank="2"/> <persona personaName="DATA0002F" level="2" image="5" statusMessage="" defaultPersona="true"/> <worldLeaderboard/> <worldLeaderboard eventId="45" eventType="2" eventMode="1" eventDurationMilliseconds="139755" eventDuration="0:02:19.755" personaName="DATA0003F" make="NISSAN" carName="240SX (S13)" rank="3"/> <persona personaName="DATA0003F" level="2" image="3" statusMessage="" defaultPersona="true"/> <worldLeaderboard/> </list>
Moje pytanie brzmi, co mam zrobić aby przenieść dane z tego XML-a do MySql. Jak powinna wyglądać baza danych (ja myślałem nad tym aby zrobić oddzielną bazę danych na statystyki wyścigów, a w niej tabele o nazwach wyścigów) . Jestem kompletnie zielony w tym temacie, a więc oczekuję od Was pomocy. Być może są poradniki (najlepiej w języku polskim- jeszcze się uczę więc nie załapię wszystkich słów z poradników obcojęzycznych) do funkcji która pozwoliłaby przenieść dane z XML do MySql.
Gdyby komuś było potrzebne to na tej stronie jest opisane jak wygląda to wszystko po ich stronie z tym XML-em: http://world.needforspeed.com/SpeedAPI/doc/
Z góry dziękuję za pomoc
Pozdrawiam