Hallo,
Ik heb een site met flash games, deze zijn aan een mysql DB gekoppeld zodat de highscores van de players kunnen bijgehouden worden. Er zijn 2 tables voor de games
Table1:
Table2:
De tables spreken voor zich wat ze doen veranderstel ik, table1 is een lijst met beschikbare games en hun id, table 2 houdt alle scores bij.
Nu het probleem, Omdat highscores lang stand kunnen houden en het nogal saai wordt op de duur heb ik 2 soorten scores gemaakt. Weekscores die de beste van de week tonen, en de Topscores allertijden.
Met de weekscores geen probleem maar de topscores geven steeds de datum weer waarop de eerste entry voor die user gemaakt werd en niet de datum waarop die score behaald is.
dit is mijn query:
Heeft iemand hier een oplossing voor ?
edit:
versie van de mySQL server is 4.0.20
website is in php
Ik heb een site met flash games, deze zijn aan een mysql DB gekoppeld zodat de highscores van de players kunnen bijgehouden worden. Er zijn 2 tables voor de games
Table1:
code:
1
2
3
4
5
6
| CREATE TABLE `mega_games` ( `game_id` int(5) NOT NULL auto_increment, `game_name` varchar(50) NOT NULL default '', `description` varchar(50) NOT NULL default '', PRIMARY KEY (`game_id`) ) TYPE=MyISAM AUTO_INCREMENT=16 ; |
Table2:
code:
1
2
3
4
5
6
7
8
| CREATE TABLE `mega_games_highscores` ( `game_id` int(4) NOT NULL default '0', `player` varchar(254) NOT NULL default '', `score` int(50) NOT NULL default '0', `date` timestamp(14) NOT NULL, `ip` varchar(16) NOT NULL default '', KEY `game_id` (`game_id`) ) TYPE=MyISAM; |
De tables spreken voor zich wat ze doen veranderstel ik, table1 is een lijst met beschikbare games en hun id, table 2 houdt alle scores bij.
Nu het probleem, Omdat highscores lang stand kunnen houden en het nogal saai wordt op de duur heb ik 2 soorten scores gemaakt. Weekscores die de beste van de week tonen, en de Topscores allertijden.
Met de weekscores geen probleem maar de topscores geven steeds de datum weer waarop de eerste entry voor die user gemaakt werd en niet de datum waarop die score behaald is.
dit is mijn query:
code:
1
2
3
4
5
6
| SELECT MAX( h.score ) AS score, h.player, date_format( h.date, '%Y-%m-%d' ) AS date FROM mega_games g, mega_games_highscores h WHERE h.game_id = g.game_id AND g.game_id =6 GROUP BY h.player ORDER BY score DESC LIMIT 25 |
Heeft iemand hier een oplossing voor ?
edit:
versie van de mySQL server is 4.0.20
website is in php
[ Voor 4% gewijzigd door Verwijderd op 25-11-2004 17:48 ]