
L7-6
- TeliuTe
- 论坛版主
- 帖子: 7675
- 注册时间: 2007-11-25 13:29
- 系统: 16/18/20/w7
- 来自: 新疆博乐
- 联系:
Re: L7-6
基本弄成功,把数据表添加一项当前成绩的score_now字段,
然后照着score的代码修改save.php存取数据表的操作
在zflx.php中添加读取score_now的句子: if($uid==$value['uid']) $score_now = $value['score_now'];
在index.htm中添加一行显示当前的成绩: <li>我的得分:<!--{$score_now}--></li>
然后照着score的代码修改save.php存取数据表的操作
在zflx.php中添加读取score_now的句子: if($uid==$value['uid']) $score_now = $value['score_now'];
在index.htm中添加一行显示当前的成绩: <li>我的得分:<!--{$score_now}--></li>
代码: 全选
$tmpArr = is_array($query)?$query['score']:0;
$tmpArr_now = is_array($query)?$query['score_now']:0;
if(is_array($query)) {
if($score<$tmpArr) {
if($score_now>$tmpArr_now) {
$_SGLOBAL['db']->query("UPDATE ".tname("app_zflx")." SET `score_now` = '".$score_now."' WHERE uid =".$uid);
}
showmessage('本次得分小于最高得分,最高分纪录不变!','zflx.php?back=1');
} else {
$_SGLOBAL['db']->query("UPDATE ".tname("app_zflx")." SET `score` = '".$score."',`gtime` = '".$gtime."' WHERE uid =".$uid);
if($score_now>$tmpArr_now) {
$_SGLOBAL['db']->query("UPDATE ".tname("app_zflx")." SET `score_now` = '".$score_now."' WHERE uid =".$uid);
}
showmessage('新纪录提交成功!','zflx.php?back=1');
}
} else {
$_SGLOBAL['db']->query("INSERT INTO ".tname("app_zflx")." (`id`, `type`, `uid`, `score`, `score_now`,`gtime`) VALUES (NULL, '".$type."', '".$uid."', '".$score."', '".$score_now."', '".$gtime."')");
showmessage('成绩保存成功!','zflx.php?back=1');
}
- TeliuTe
- 论坛版主
- 帖子: 7675
- 注册时间: 2007-11-25 13:29
- 系统: 16/18/20/w7
- 来自: 新疆博乐
- 联系:
Re: L7-6
用数据库存储当前成绩出现一个问题,本次还没练习页面上已经读出了上次保存的成绩
这样就得加个时间判断,如果当前会话时间和数据库里存储的时间相差太大就不读取,这样每次还得更新数据库里的时间
遂改用session来存储本次得分,用两个变量来记录当前最高的成绩和本次得分,同时只显示40分钟(一节课)和24小时(一天)的排行榜
这样就得加个时间判断,如果当前会话时间和数据库里存储的时间相差太大就不读取,这样每次还得更新数据库里的时间
遂改用session来存储本次得分,用两个变量来记录当前最高的成绩和本次得分,同时只显示40分钟(一节课)和24小时(一天)的排行榜
代码: 全选
if($score<$tmpArr) {
if($_SESSION['score_now1'] > $_SESSION['tmpArr_now']) {
$_SESSION['tmpArr_now'] = $_SESSION['score_now1'];
}//把高分放入中间变量里
showmessage('成绩低于最高得分,不参与排行榜比赛!','zflx.php?back=1');
} else {
$_SGLOBAL['db']->query("UPDATE ".tname("app_zflx")." SET `score` = '".$score."',`gtime` = '".$gtime."' WHERE uid =".$uid);
if($_SESSION['score_now1'] > $_SESSION['tmpArr_now']) {
$_SESSION['tmpArr_now'] = $_SESSION['score_now1'];
}//把高分放入中间变量里
showmessage('新纪录提交成功!','zflx.php?back=1');
}