Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Tiedon haku toiselta sivustolta ja päivitys tietokantaan

Hakoulinen [17.05.2008 20:30:09]

#

Sarjataulukon ylläpitäminen on hieman raskasta käsipelillä ottetuloksista "laskemalla". Olen miettinyt millä keinolla saisin jatkuvasti päivittyvän tuloslistan uudet pelit aina päivittymään MySQL-kantaan.

Tälläinen systeemi kyseessä

kayttaja-2791 [19.05.2008 09:11:04]

#

Teet skriptin joka hakee sivulta ottelujen tulokset, ja lisää ne paikalliseen tietokantaasi (tai vaihtoehtoisesti vain päivittää tulossivun ilman mitään tietokantaa). Sitten vain ajastat kyseisen skriptin suoritettavaksi vaikkapa tunnin välein. Ajastaminen onnistuu useilla web-hotelleilla cron -työkalua käyttäen:
http://linux.fi/index.php/Cron

Hakoulinen [19.05.2008 13:20:48]

#

Tarkoitatko että aina kun skripti suoritetaan, se laskee pelit uudestaan? Hain tässä opastusta "uusien" pelien merkkaamiseksi. :)

kayttaja-2791 [19.05.2008 14:20:49]

#

Sitten tarkastat että onko peli jo tietokannassa, ja lisäät vain jos ei ole. Pelin yksilöllisenä tunnistimena voisit vaikka käyttää ajan ja joukkueiden nimien yhdistelmää, tallennat siis sen/ne tietokantaan ja ennen pelin lisäystä katsot onko vastaavaa jo olemassa tietokannassa.

Sarjataulukon luonnollisesti päivität aina kun uusi peli löytyy. Riippuen toteutuksesta, jos sarjataulukko lasketaan suoraan kannasta jokaisen sivulatauksen yhteydessä niin mitään ongelmaahan ei ole. Jos taas sarjataulukko on erillisessä taulurakenteessa, niin luonnollisesti ne tulee päivittää aina kun uusi peli sivuilta löytyy. Tässä yksi vaihtoehto olisi tehdä tietokantaan triggeri (en tosin tiedä kuinka hyvin MySQL noita tukee), joka automaattisesti suorittaa haluttuja toimenpiteitä kun tietokantaan tehdään jotain muutoksia.

Isompi homma on tietty hakea ne tulokset tuolta sivustolta. Voit lähteä rakentamaan systeemiä joko ihan normaalilla merkkijonon käsittelyllä (strpos/substr pääosissa), tai vaihtoehtoisesti säännöllisillä lausekkeilla (putkassa on tähän ihan hyvä opas).

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta