[999, 997, 990], 'serverlist' => [], ]; $defaultSrvId = 1; $index = 0; $nowTime = time(); $newSrvTime = (24 * 60 * 60) * 7; // 获取选择的区服ID $mySQLi = new mysqli($_CONFIG_DB['db_host'], $_CONFIG_DB['db_user'], $_CONFIG_DB['db_password'], $_CONFIG_DB['db_name'], $_CONFIG_DB['db_port']); if($mySQLi->connect_errno) returnJson(['code' => 1, 'msg' => $mySQLi->connect_error]); $mySQLi->set_charset($_CONFIG_DB['db_charset']); $stmt = $mySQLi->prepare('select server_id from player where username=?'); $stmt->bind_param('s', $account); $stmt->execute(); $result = $stmt->get_result(); $row = $result->fetch_array(); $result->free_result(); $stmt->close(); $serverId = !empty($row) ? intval($row['server_id']) : 0; // 查询 $status = 1; // $stmt = $mySQLi->prepare('select id, server_id, name, host, port, status, time, merge_id from server where server_id = ? and status >= ? order by server_id asc limit 1000'); // $stmt->bind_param('id', $serverId, $status); $stmt = $mySQLi->prepare('select id, server_id, name, host, port, status, time, merge_id from server where status >= ? order by server_id asc limit 1000'); $stmt->bind_param('d', $status); $stmt->bind_result($id, $server_id, $name, $host, $port, $status, $time, $merge_id); $stmt->execute(); $stmt->store_result(); $srvData['serverlist'][$index] = []; $srvData['serverlist'][$index]['name'] = '1-100区'; // 全部显示 -------------------------------------------- while($stmt->fetch()) { $sid = $merge_id ? $merge_id : $server_id; //echo "$sid, $id, $server_id, $host, $port, $status, $time, $merge_id
"; $srvData['serverlist'][$index]['serverlist'][] = [ 'id' => $id, 'serverName' => (isset($name) && $name ? $name : $_CONFIG['game_first_name']).$server_id.'区', 'srvaddr' => isset($host) && $host && '127.0.0.1' != $host ? $host : $_CONFIG['game_host'], 'srvport' => isset($port) && $port ? $port : ($_CONFIG['game_port'] + $sid), 'srvid' => $sid, 'type' => 3 != $status ? ($nowTime - $time <= $newSrvTime ? 1 : 2) : $status, // 1:新, 2:火爆, 3:维护 'opentime' => date('Y-m-d H:i:s', $time), 'pf' => $_CONFIG['pf'], 'serverAlias' => 's'.$sid, 'originalSrvid' => $sid ]; //$index++; } // 自动合并 -------------------------------------------- /*$list = []; while($stmt->fetch()) { //$sid = $merge_id ? $merge_id : $server_id; //echo "$sid, $id, $server_id, $host, $port, $status, $time, $merge_id
"; if(!$merge_id) { $list[$server_id] = $server_id; } else { if(!isset($list[$server_id]) || $server_id > $list[$server_id]) { $list[$merge_id] = $server_id; } } //$index++; } //print_r($list);exit; foreach ($list as $sid => $last_id) { $srvData['serverlist'][$index]['serverlist'][] = [ 'id' => $sid, 'serverName' => (isset($name) && $name ? $name : $_CONFIG['game_first_name']).$server_id.'区', 'srvaddr' => isset($host) && $host && '127.0.0.1' != $host ? $host : $_CONFIG['game_host'], 'srvport' => isset($port) && $port ? $port : ($_CONFIG['game_port'] + $sid), 'srvid' => $sid, 'type' => 3 != $status ? ($nowTime - $time <= $newSrvTime ? 1 : 2) : $status, // 1:新, 2:火爆, 3:维护 'opentime' => date('Y-m-d H:i:s', $time), 'pf' => $_CONFIG['pf'], 'serverAlias' => 's'.$sid, 'originalSrvid' => $sid ]; }*/ // -------------------------------------------- //echo "Records:".$stmt->num_rows."
"; // 关闭MySQL $stmt->free_result(); $stmt->close(); $mySQLi->close(); returnJson($srvData); /*$groupMax = 10; $groupSubMax = 100; $nowDate = date('Y-m-d H:i:s'); $lastSrvId = $groupMax * $groupSubMax; $_day = $lastSrvId; for($gid = 1; $gid <= $groupMax; $gid++) { $srvData['serverlist'][$gid - 1] = []; $gidStart = ($gid < 2 ? $gid : ($gid - 1) * $groupSubMax); $gidEnd = $gid * $groupSubMax; for($cid = 1; $cid <= $groupSubMax; $cid++) { $srvData['serverlist'][$gid - 1]['name'] = $gidStart.'-'.$gidEnd.'区'; $srvData['serverlist'][$gid - 1]['serverlist'][] = [ 'id' => $index, 'serverName' => $_CONFIG['game_first_name'].$index.'区', 'srvaddr' => $_CONFIG['game_host'], 'srvport' => 9000 + $defaultSrvId, 'srvid' => $defaultSrvId, 'type' => ($index > ($lastSrvId - 10) ? 1 : 2), // 1:新, 2:火爆, 3:维护 'opentime' => ($index == $lastSrvId ? $nowDate : date('Y-m-d H:i:s', strtotime('-'.$_day.' day'))), 'pf' => $_CONFIG['pf'], 'serverAlias' => 's'.$defaultSrvId, 'originalSrvid' => $defaultSrvId ]; $index++; $_day--; } } echo json_encode($srvData);*/