05. juni 2008 - 16:26Der er
17 kommentarer og 1 løsning
Hjælp til en "motor"
Jeg er ved at prøve at lave et aktiespil til brug i undervisningen. Men jeg kan ikke finde ud af følgende: Jeg har en database tabel som indeholder et "firmanavn" og en kurs. Det er nu meningen at kursen for alle firmaerne skal ændres evt. hver 10 min. Nogle forslag??
Php kan lave nogen realtime updatering. Men du kan da sætte et timestamp, og opdater hvis det er ældre end 10 min. Men som sagt, så kræver det at der sker forespørgelser til serveren i tidsrummet.
Jer forstår det sådan at et PHP script ikke kan, men så kan den del vel løses med noget javascript eller kan det slet ikke lade sig gøre. En mulighed er vel også at gøre det når en bruger logger ind på en side, det vigtigste er at der sker en ændring i kurserne. Det er også selve opdateringen at databasens kursværdi der er det vigtigste for mig.
Med ajax kan du godt lave noget der ligner, men brugeren skal stadig være på siden. Ligegyldig hvilken løsning, så er det vigtigt at der checkes om den kurs brugeren har handlet til, passer med den seneste kursændring.
Til det sidste, så må du vel bare se om den seneste databaseværdi er ældre en 10 minutter, og i så fald handle derefter. Indsæt den nye række, og brug TIMESTAMP som datatype på dit felt.
Firmaerne er fiktive og derfor er derfor også fiktiv. Der skal fremstilles en ny kurs, via noget rand(). Det er disse nye kurser der skal gemmes updateres i databasen.
Så bliver du nok nødt til at udspecificere nogle "pseudo" regler for hvordan du vil have dine kurser til at "bevæge" sig. - det går jo f.eks. ikke at en kurs for er 100, så går der 10 minutter så er kursen 12, 10 minutter senere er den 320. Håber du kan følge mig i hvad jeg mener ;)
Det er også meningen. Jeg regner med at der kursen skal ganges med et tal i mellem 0.8 og 1.2 eller noget i den stil. Men det regner jeg med kan klares i næste "omgang".
Resultat fra min egen test efter tre forespørgsler: 1. maersk : 59.85 : 49.0770947965 microsoft : 82.74 : 66.1883707734 sonofon : 68.77 : 78.4004233962 blizzard : 147.5 : 123.90308169
Ingen problem :) - nu skal du så huske, at når du bruger cronjobs - så er der ingen grund til at have et output fra scriptet - da scriptets eneste formål er at opdatere databasen. Så f.eks. skal du have cronjobbet til at pege på http://www.minside.dk/scripts/opdaterkurs.php - og så vil den så køre dit kursscript hvert 10'ende minut (Eller hvilket interval du nu sætter). For at gøre det hele lidt nemmere på cronjob.de - så tag og brug google's translator, selvom det ikke er korrekt dansk, så er det trods alt forståeligt dansk ;D
hvis du har spørgsmål eller andet - så¨bare skriv :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.