后台查询不到战绩是因为代码和数据库不对应。主要是因为数据库里面jz_user_room这个表。
我们打开这个表发现有下面几个字段。
id,uid,room,overtime,jifen,type,分别对应自增主键id,用户Id,房间结束时间,得分,游戏类型。
如果用全局查找,大家可以用Notepad++打开auto/php54n文件夹全局搜索jz_user_room。
在auto/php54n下面的文件夹,game1,game2,game10,game14分别对应6人牛,9人牛,12人牛和9人8倍牛。
在上述文件夹内,initroom.php和overroom.php里面有jz_user_room。
举个例子,从overroom.php里面摘出来下面的代码:
if ($Room[$id]['xx']['js'] > 0) {
foreach ($Room[$id]['user'] as $connection3) {
$jflist[$connection3->user['id']] = $connection3->user['dqjf'];
$add = array();
$add['uid'] = $connection3->user['id'];
$add['room'] = $id;
$add['overtime'] = time();
$add['jifen'] = $connection3->user['dqjf'];
$add['type'] = $Room[$id]['lx'];
$add["settlementType"] = 1;
$add["mode"] = $rules["mode"];
$db->insert('jz_user_room', $add);
}
上述代码,起始就是插入数据到jz_user_room表里面,不难看出,总共要往uid,room,overtime,jifen,type,settlementType,mode这7个字段里面插入,为啥没有id这个字段呢?因为id是主键,就是说不用管它每次插入后它自动加1。
这7个比实际数据库jz_user_room这个表多了settlementType和mode这两个字段,所以肯定会执行sql语句失败的,导致插入不成功。
插入不成功就会导致没有战绩记录进去。所以这两个选择,要不在jz_user_room里面把这两个字段加上去,要不就就是删掉上面代码里面增加这两个字段的操作。
这里建议删掉,毕竟除了牛牛外,金花啊,三公啊,牌九啊,二八杠啊,葫芦鱼啊这些也都要往jz_user_room这个表里面插入数据。
删除后,一切恢复正常。