Page 11 of 11

Re: PHP-ongelmat

Posted: Thu Jun 14, 2012 7:14 pm
by Jare
esa94 wrote:
Jare wrote:Tämä ei ole varsinaisesti PHP-ongelma, mutta liittyy nettisivuihin.

Asiakkaani sivusto http://www.koneurakointilm.fi toimii oikein kunnollisilla selaimilla (Opera, Firefox), mutta jostain syystä Internet Exploder 8 näyttää sivun sekunnin ajan ja näyttää sitten 404-ilmoituksen. Mistä tämä voisi johtua?

Kiitos avustanne.
Ainakin siellä on kaksi <html>-tagia. Poista jälkimmäinen ja katso korjaantuuko ognelma.
Joo, toi toinen html-tagi jäi vahingossa mun testailujen vuoks. Varsinainen vika löytyi kuitenkin css:n puolelta ja sain sen korjattua. Kiitos vastauksesta joka tapauksessa.

Re: PHP-ongelmat

Posted: Fri Oct 17, 2014 7:27 pm
by legend
Ongelma liittyy javascriptiin ja php:seen.

Serverillä on massiivinen .xml tiedosto. Yritän siirtää sieltä käyttäjän valitsemaa tietoa javascriptin käsiteltäväksi. Koko tiedostoa en halua siirtää javascriptin käsiteltäväksi, sillä silloin tiedoston kaikkiin tietoihin pääsisi käsiksi. Yritän siis siirtää kymmeniä muuttujia serveriltä javascriptille. Itse olen miettinyt AJAXin käyttöä. Serveri (php koodina) kokoaisi tarvittavat tiedot JSONiksi, minkä jälkeen se siirtäisi sen javascriptille. Idea kuulostaa toimivalta mutta myös turhan monimutkaiselta. Mikä olisi paras tapa toteuttaa lukuisten muuttujien siirtäminen javascriptille? Sattuisiko jollakin olemaan kokemusta vastaavasta?

En tiedä, kuinka aktiivisesti porukka käy vielä täällä, mutta kysynpä silti. Täällä on yleensä yllättävän kokenuttu porukkaa :)

Re: PHP-ongelmat

Posted: Sat Oct 18, 2014 5:58 pm
by mikeful
Kuinka usein XML muuttuu/päivittyy? Olisko se mahdollista pilkkoa pienempiin ja helpommin haettaviin osiin ja tallentaa nämä vaikka tietokantatauluun riveiksi?

Re: PHP-ongelmat

Posted: Sun Oct 19, 2014 12:15 pm
by Pettis
Mikefulin tietokantaan siirto on järkevää. Periaatteessa se voi olla järkevää tehdä aina jos/kun tieto muuttuu, vaikka se muuttuisikin useammin. Joka tapauksessa PHP:lla XML:n parsiminen on kohtuullisen hidas operaatio, joten kannattaa joko parsia se valmiiksi sopiviin palasiin tai sitten käyttää tuota tietokantaratkaisua.

PHP:ltä javascriptille on helpointa käyttää JSONia, vaikka kyllä XML onnistuu myös. JSON vie vähemmän tilaa kuin XML ja taitaa olla nopeampi parsiakin.

AJAXin toteutushan ei ole muuta kuin oikean osoitteen pyytäminen palvelimelta ja palvelin sitten vastaa sopivassa muodossa (JSON tai XML) takaisin oikeiden header-tietojen kera.

Jos datan määrä on suuri, suosittelen JSONia. Töissä olemme käsitelleet AJAXilla noudettua suurta datamäärää karttapinnalla kohtuullisen vaivattomasti. Suuren tietomäärän esittäminen JavaScriptillä vaatii vain jonkin verran optimointia.

Re: PHP-ongelmat

Posted: Sat Oct 25, 2014 11:25 am
by legend
Kiitos!

Tiedoston rakenne on hyvin haaroittunutta. Todennäköisesti sen takia xml tiedoston parsiminen on tällä hetkellä nopeampaa kuin tietokantaratkaisu. En tosin ole käyttäänyt tietokantoja paljoa, joten tietokantanversion hitaus johtuu ehkä myös koodistani. Olen siis tehnyt ohjelman, joka kerää tietoa COH2 (Company of Heroes 2) ranking listasta. Nyt kasassa on tietoa jo parin kuukauden ajalta. Jos teitä kiinnostaa, tälläisia kuvaajia on syntynyt :)
https://docs.google.com/spreadsheets/d/ ... edit#gid=0
https://docs.google.com/spreadsheets/d/ ... edit#gid=0

Re: PHP-ongelmat

Posted: Sun Oct 26, 2014 12:10 am
by Pettis
Kauanko sinulla sitten oikein menee siihen tietokantakyselyyn ja millaisista määristä dataa puhutaan? Ja mikä tietokanta?

Re: PHP-ongelmat

Posted: Sun Oct 26, 2014 8:55 pm
by legend
Pettis wrote:Kauanko sinulla sitten oikein menee siihen tietokantakyselyyn ja millaisista määristä dataa puhutaan? Ja mikä tietokanta?
Tietokantaan tallennetaan päivittäin noin 900 integer muttujaa. Siellä on siis tällä hetkellä noin 54 000 muttuujaa. Tietokantana toimii mySQL ja moottorina MyISAM.
XML rakenne on tälläinen: Year->Month->Day->Faction->Game-mode->Ranking-> 8 muttujaa

Tietokannasta on kuva alempana. Jos haen tietoa, haen ensin tietyn päivän, maan, ja pelimuodon tunnukset, minkä jälkeen vasta voin hakea oikeat tulokset.
Tein tietokannan ohjelmointiputkan ohjeiden perusteella. Todennäköisesti siis tietokannan rakenne aiheuttaa hitauden. Jos löytyy vinkkejä, kuinka tehdä tämä paremmin, kertokaa ihmeesä :D
(Indeksejä ja muita hienouksia en ole osannut hyödyntää. Vinkkejä voi antaa siis paljon :) )
Image

Re: PHP-ongelmat

Posted: Mon Oct 27, 2014 1:20 am
by Pettis
Itse tallentaisin päivämäärän ihan suoraan tuohon dataan, koska mielestäni on vähän tyhmää tallentaa pelkkä päivämäärä toiseen tauluun.

Indeksit niihin sarakkeisiin joiden mukaan haet tietoa. Esimerkiksi päivämäärät ovat hyvin todennäköisiä tiedon hakuperusteita.

54000 riviä on mitätön määrä tietoa. Jos tuolla määrällä mikä tahansa kysely kestää yli 0.01 sekuntia, niin jotain on todella pahasti vialla. Edes indeksit eivät voi niin pahasti olla pielessä että tuo määrä hidastuisi. Eikä tuo tietokannan rakennekaan ole mikään kovin monimutkainen.

Jos tietokantaan syöttäminen on hidasta XML:n pohjalta, kannattaa katsoa transaktioita ja massainserttejä.