PHP-ongelmat

Muu yhteisön välinen keskustelu.
User avatar
Jare
Devoted Member
Posts: 877
Joined: Mon Aug 27, 2007 10:18 pm
Location: Pori
Contact:

Re: PHP-ongelmat

Post 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.
legend
Advanced Member
Posts: 371
Joined: Wed Nov 18, 2009 8:06 pm

Re: PHP-ongelmat

Post 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 :)
mikeful
Moderator
Moderator
Posts: 523
Joined: Mon Aug 27, 2007 8:36 pm
Location: Vaasa, Finalnd
Contact:

Re: PHP-ongelmat

Post by mikeful »

Kuinka usein XML muuttuu/päivittyy? Olisko se mahdollista pilkkoa pienempiin ja helpommin haettaviin osiin ja tallentaa nämä vaikka tietokantatauluun riveiksi?
Pelejä: Pelasta puhe, Grinder
Muuta: Blogi, Twitter
Pettis
The Evil Admin
The Evil Admin
Posts: 1044
Joined: Sun Aug 26, 2007 5:08 pm
Location: Rovaniemi
Contact:

Re: PHP-ongelmat

Post 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.
CB Repository .com - Sinne ne kaikki koodit menneet on!
MunVerkko - Ilmaisia foorumeita ja blogeja
legend
Advanced Member
Posts: 371
Joined: Wed Nov 18, 2009 8:06 pm

Re: PHP-ongelmat

Post 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
Pettis
The Evil Admin
The Evil Admin
Posts: 1044
Joined: Sun Aug 26, 2007 5:08 pm
Location: Rovaniemi
Contact:

Re: PHP-ongelmat

Post by Pettis »

Kauanko sinulla sitten oikein menee siihen tietokantakyselyyn ja millaisista määristä dataa puhutaan? Ja mikä tietokanta?
CB Repository .com - Sinne ne kaikki koodit menneet on!
MunVerkko - Ilmaisia foorumeita ja blogeja
legend
Advanced Member
Posts: 371
Joined: Wed Nov 18, 2009 8:06 pm

Re: PHP-ongelmat

Post 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
Pettis
The Evil Admin
The Evil Admin
Posts: 1044
Joined: Sun Aug 26, 2007 5:08 pm
Location: Rovaniemi
Contact:

Re: PHP-ongelmat

Post 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ä.
CB Repository .com - Sinne ne kaikki koodit menneet on!
MunVerkko - Ilmaisia foorumeita ja blogeja
Post Reply