PHP: Hantera/presentera data dynamiskt? php<->javascript
Postat: 11 april 2011, 23:34:05
Kort sagt så försöker jag lära mig att uppdatera en websidas innehåll dynamiskt på ett lite smidigare sätt.
I slutändan vill jag bl.a kunna ange ett filnamn, läsa från filen och presentera resultatet i webläsaren
utan att behöva uppdatera websidan. (Både filen och php-filerna finns på servern.)
Jag behöver även läsa/skriva till/från en databas och generera lite grafik.
Så jag kan alltså inte lösa allt med enbart javascript.
Helst, om jag får välja, så skulle jag gärna göra så mycket det bara är möjligt i php
eftersom jag föredrar det språket framför javascript, men lite javascript måste jag förstås använda
och jag kan "i värsta fall" tänka mig att göra det mesta med javascript om jag måste.
Men för att ta en del i taget så har jag istället gjort ett litet läroexempel
som består av en tabell med två celler. En till vänster och en till höger på skärmen.
I varje cell finns en knapp. Ett tryck på någon av dem ska ge resultatet att
den aktuella tiden (timmar:minuter:sekunder) visas på motsatta cellen.
(Dvs trycker man på knappen i vänster cell så visas tiden i höger cell och tvärt om.)
Tiden fås med php's date-funktion.
Jag har provat med både DIV-taggar och iFrames samt javascript,
men som bäst fick jag hela sidan att hamna i (och uppdateras i) dessa iframes...
Jag har ingen kod kvar som visar detta, då jag provat mig fram väldigt mycket
och inte sparat de olika försöken.
Sedan gav jag mig på det jag hört mycket bra om, men aldrig lyckats lära mig: Ajax.
Jag har helt enkelt inte hittat någon "Ajax for dummies" som riktigt fått polletten att trilla ner.
Jag har följt en del guider (har tyvärr ingen sparad länk) men det har mest resultaterat
i en massiv samling kod som känts på tok för snårig för det (i mitt tycke) lilla som den ska utföra.
Nästa försök innebar JQuery. Exemplen såg inte så svårbegripliga ut, men jag tyckte mest att exemplen
visade sådant som man lika gärna kunde göra i enbart javascript.
Tillslut stötte jag på jQuery-PHP som är ett PHP-library "that allows to tie jQuery with PHP most natural way."
Men jag fattade inte guiderna där. Ingen riktig förklaring till var man skulle skriva de olika kodsnuttarna.
Kodexemplen (t.ex rad 3 under koden för "JavaScript: call AJAX (example)") generarar bara fel
av typen "Parse error: syntax error, unexpected '{', expecting ')' " hos mig och med knapphändig
nybörjar-info på sajten så är det inte lätt att veta om det beror på att jag skrivit koden
på fel ställe eller om det är något annat som är fel.
Så nu vet jag inte riktigt var/hur jag ska gå vidare.
Någon som kan hjälpa mig åt rätt håll?
Jag är inte låst till något speciellt språk eller "struktur" (div/iframes/annat) eftersom jag börjar från början,
men som jag skrev inledningsvis så föredrar jag php framför javascript.
(Ja, jag är väldigt medveten om vad som "körs" på server side och client side.
)
edit: Några av alla länkar som jag studerat: (De som fanns kvar i min textfil.)
http://docs.jquery.com/Tutorials
http://www.cryer.co.uk/resources/javascript/script4.htm
http://jquery.hohli.com/
http://elektronikforumet.com/forum/view ... 13&t=46064
I slutändan vill jag bl.a kunna ange ett filnamn, läsa från filen och presentera resultatet i webläsaren
utan att behöva uppdatera websidan. (Både filen och php-filerna finns på servern.)
Jag behöver även läsa/skriva till/från en databas och generera lite grafik.
Så jag kan alltså inte lösa allt med enbart javascript.
Helst, om jag får välja, så skulle jag gärna göra så mycket det bara är möjligt i php
eftersom jag föredrar det språket framför javascript, men lite javascript måste jag förstås använda
och jag kan "i värsta fall" tänka mig att göra det mesta med javascript om jag måste.

Men för att ta en del i taget så har jag istället gjort ett litet läroexempel
som består av en tabell med två celler. En till vänster och en till höger på skärmen.
I varje cell finns en knapp. Ett tryck på någon av dem ska ge resultatet att
den aktuella tiden (timmar:minuter:sekunder) visas på motsatta cellen.
(Dvs trycker man på knappen i vänster cell så visas tiden i höger cell och tvärt om.)
Tiden fås med php's date-funktion.
Jag har provat med både DIV-taggar och iFrames samt javascript,
men som bäst fick jag hela sidan att hamna i (och uppdateras i) dessa iframes...
Jag har ingen kod kvar som visar detta, då jag provat mig fram väldigt mycket
och inte sparat de olika försöken.
Sedan gav jag mig på det jag hört mycket bra om, men aldrig lyckats lära mig: Ajax.
Jag har helt enkelt inte hittat någon "Ajax for dummies" som riktigt fått polletten att trilla ner.
Jag har följt en del guider (har tyvärr ingen sparad länk) men det har mest resultaterat
i en massiv samling kod som känts på tok för snårig för det (i mitt tycke) lilla som den ska utföra.
Nästa försök innebar JQuery. Exemplen såg inte så svårbegripliga ut, men jag tyckte mest att exemplen
visade sådant som man lika gärna kunde göra i enbart javascript.
Tillslut stötte jag på jQuery-PHP som är ett PHP-library "that allows to tie jQuery with PHP most natural way."
Men jag fattade inte guiderna där. Ingen riktig förklaring till var man skulle skriva de olika kodsnuttarna.
Kodexemplen (t.ex rad 3 under koden för "JavaScript: call AJAX (example)") generarar bara fel
av typen "Parse error: syntax error, unexpected '{', expecting ')' " hos mig och med knapphändig
nybörjar-info på sajten så är det inte lätt att veta om det beror på att jag skrivit koden
på fel ställe eller om det är något annat som är fel.
Så nu vet jag inte riktigt var/hur jag ska gå vidare.
Någon som kan hjälpa mig åt rätt håll?

Jag är inte låst till något speciellt språk eller "struktur" (div/iframes/annat) eftersom jag börjar från början,
men som jag skrev inledningsvis så föredrar jag php framför javascript.
(Ja, jag är väldigt medveten om vad som "körs" på server side och client side.

edit: Några av alla länkar som jag studerat: (De som fanns kvar i min textfil.)
http://docs.jquery.com/Tutorials
http://www.cryer.co.uk/resources/javascript/script4.htm
http://jquery.hohli.com/
http://elektronikforumet.com/forum/view ... 13&t=46064