PHP - Server laten refreshen

Problemen met PHP, ASP, CGI, MySQL? Post ze hier!

PHP - Server laten refreshen

Berichtdoor wesleyA » wo apr 04, 2007 12:46

Eyy mensen,

Een aantal klasgenoten van mij zijn bezig met het maken van een online textbased game (oorlog gerelateerd) en wat ze zich af vroegen is of je een database met php om de 5 min kan laten refreshen, zodat de offline/online status van spelers dus geupdate word. Dit moet dus tijd gebonden zijn, refreshing om 13.05/13.10 en niet vanuit een speler gekeken.

Is dit met PHP mogelijk of is er bijvoorbeeld met Javascript zoiets te regelen.
Avatar gebruiker
wesleyA
 
Berichten: 31
Geregistreerd: do nov 02, 2006 14:10
Woonplaats: middelburg

Berichtdoor Rhapsody » wo apr 04, 2007 12:50

Misschien is Ajax een optie?
In Metal We Trust
Rhapsody
Koning: gebanned @ TF
Koning: gebanned @ TF
 
Berichten: 141
Geregistreerd: wo okt 04, 2006 16:13
Woonplaats: Leersum

Berichtdoor wesleyA » wo apr 04, 2007 12:58

en hoe zou dat gerealiseerd moeten worden?
Ze zijn namelijk eigenlijk meer thuis in php dan in javascript.
Avatar gebruiker
wesleyA
 
Berichten: 31
Geregistreerd: do nov 02, 2006 14:10
Woonplaats: middelburg

Berichtdoor Rhapsody » wo apr 04, 2007 15:04

Een database kun je niet refreshen, dat spreekt voor zich.

wat je wilt is denk ik periodiek nieuwe info ophalen, dat zou je kunnen doen via AJAX. Hoe kan ik je niet zeggen omdat ik de code van de game niet ken.

Er zijn diverse frameworks beschikbaar ook voor PHP. Google er maar eens op.
In Metal We Trust
Rhapsody
Koning: gebanned @ TF
Koning: gebanned @ TF
 
Berichten: 141
Geregistreerd: wo okt 04, 2006 16:13
Woonplaats: Leersum

Berichtdoor saf4 » ma jul 09, 2007 9:11

een class defineren die je bij iedere page hit laat doorlopen, als iemand ingelogd is schrijf je de volgende gegevens naar de database in een aparte table: tijd UserID

tijd is dan je huidige epoch en userid spreekt voor zich

(het volgende weer voor iedereen)
trek vervolgens de gegevens eruit die je wilt hebben, iets van
$PrevTime = date("U") - (5 * 60);
SELECT DISTINCT(UserID) FROM logs WHERE Tijd > $PrevTime;

dan zou je een lijstje terug moeten krijgen, dit komt dan in een array, dus voor het aantal neem je" echo count($array) . ' Gebruikers online.';

vervolgens pleur je alle te oude logs eruit om je db een beetje schoon te houden, dit doe je door:

DELETE FROM logs WHERE tijd < $PrevTime


zoiets zou het moeten worden, stuur maar een pm als je er niet uit komt
saf4
 
Berichten: 14
Geregistreerd: za dec 16, 2006 22:22


Keer terug naar Server Side Scripting

Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers en 1 gast

cron