2010-08-03 74 views
0

我目前正在研究基于php/flash/mysql的高分系统游戏网站。这个系统的主要目标是使用Flash游戏提交数据库中的分数。每当用户进行评分时,都会反映在数据库中。在测试环境中,当我从Flash文件提交分数时,分数将在数据库中提交。php flash高分系统游戏网站

注意:在这个系统中,注册用户和访客用户都可以提交他们的分数。情况1:如果注册用户提交了分数,那么它将被提交到数据库中如果用户已经登录但是他没有登录但是他是注册用户并且提交了最高分并希望提交在这之后,我想在数据库中提交他们的分数。我在这里如何做到这一点。案例2:如果用户不是注册用户并且想要以注册用户身份提交,那么我如何实现这一点。

+0

什么样的DB计划对于用户和分数,我猜你有两个不同的表格吧? – PHPology 2010-08-03 11:45:50

回答

0

我想这一点,如果你有2个独立的表,我相信它不是一个完美的方法,但我认为它的伎俩:

用户:USER_ID,SESSION_ID,用户名等,等 得分:scores_id ,user_id,分数等

向表用户添加一个名为session_id的附加列当您要保存分数时,创建一个用户行并将session_id()保存到session_id列(您现在已获得一个参考回到当前用户)。

如果他们在保存分数后注册,根据当前session_id获取user_id并更新他们输入的相关字段。

如果他们在保存分数后登录,则获取具有其session_id()的行的ID(针对此评论中的引用称为unregistered_user_id)。获取成功验证用户的标识(对于此评论中的引用,称其为loginin_user_id)。

现在在表格得分中,更新得分设置为user_id = loggedin_user_id,其中user_id = unregistered_user_id。所以我们知道我们知道这个分数是登录用户的,这是他们的历史或者以往的。

然后删除从用户那里是临时行: 从用户那里USER_ID = unregistered_user_id

//优化表中删除,所以万物被索引,等等,等等